Nature 应用示例

English|中文

如果你是第一次了解 Nature , 建议你从头到尾阅读这些 Demo。 每个章节都包含一些不同的 Nature 要点,以说明如何用 Nature 独有的方式来解决问题。如何启动 Nature 项目请参考:项目准备

网上商城 DEMO

这个Demo涉及的场景比较多,如订单,支付,库房,配送以及签收等。这不是一个具有生产力的示例,但却简练的勾勒出系统的骨架以及她所具有的强大的支撑及扩展能力。

| 章节 | 内容摘要 | Nature 要点 | | -------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | 生成订单 | 大致讲解一下Nature的使用方式,介绍Nature的一个重要的能力:有些业务只需要配置一下不需要代码就能自动完成! | Meta, master meta, target-state, Converter ,提交Instance到Nature,自动执行器,使用上游ID | | 支付订单 | 我们只写了很少的业务代码,就实现了复杂的业务逻辑,Nature 会在幕后提供很多保障,如数据一致性,并发冲突等问题。 | 选择上游,系统上下文(target.id), 并发冲突控制 | | 出库 | 这里涉及到如何离线处理。 | 提交state-instance ,回调,与已有系统的对接。 | | 配送 | 这里展示了和外系统协作的方法 | 参数化输入 | | 签收 | 这里描述了Nature 对时间敏感性任务的处理 | 延迟转换 |

统计DEMO

可以把Nature 看做一个简单的流式计算框架。

下面给出一个成绩统计的例子:

| 章节 | 内容摘要 | Nature 要点 | | ----------------------------------------------- | ---------------------------------------------- | ------------------------------- | | 全员成绩单->个人成绩 | 一个输入可以有多个输出,且免代码完成这个任务。 | MetaType::Multi,内置执行器 | | 求出每个人各科的总分 | 利用状态数据完成个人所有科目的统计 | 参数化输入状态数据 | | 求出班级每科的Top | 如何玩转即时统计 | | | 求出班级总分的top | | |

审批流程

必须两人同意才通过

任何一人同意就可通过

多级审批