JavaScript 业务逻辑微框架
一次编写业务逻辑,随处使用!
什么是业务逻辑微框架?
业务逻辑框架是一种代码,它有助于以一致、可预测、可重用、可扩展、可维护、可伸缩和可测试的方式创建业务逻辑。它推动创建完全独立于其消费技术的业务逻辑,并有助于确保遵守关注点分离(SoC)原则。
为什么选择 peasy-js?
因为 JavaScript 生态系统的变化速度远快于您的业务逻辑。UI 框架不断变化:今天是 Backbone,明天是 Angular,后天是 React...后端框架也在变化:今天是 Express,明天是 Koa,后天是 Hapi...数据框架和 ORM 也在变化...
为什么要将您的代码与当今热门但明天可能消失的技术耦合在一起呢?为什么不专注于您的业务逻辑,并将其他所有内容抽象成真正可重用的代码,可以在浏览器、后端或两者中的 JavaScript 中使用,并且可以被任何 UI 或后端框架使用呢?
peasy-js 使得在您的应用程序中轻松切换 UI、后端和数据框架变得简单,通过以可组合、可重用、可伸缩和可测试的方式创建您的业务逻辑。
peasy-js 提供/解决以下问题:
- 业务和验证规则引擎
- 通过 Promise 或回调的异步支持
- ES5 及更高版本支持
- TypeScript 支持
- 多客户端支持
- 多部署场景支持
- 可重用性(将业务和验证逻辑与消费代码和框架解耦)
- 可伸缩性
- 可测试性
如何获取?
- 下载最新版本
- 克隆仓库:
git clone https://github.com/peasy/peasy-js.git
- 使用 npm 安装:
npm install peasy-js
- 使用 yarn 安装:
yarn add peasy-js
您也可以下载并将 peasy.js 文件添加到您的项目中,并相应地引用它。
入门
您可以通过查看以下演示来开始。
-
在客户端(浏览器)中运行
-
在服务器(Node.js)上运行
-
使用 TypeScript 运行(Node.js)
-
示例应用:这个示例应用是一个使用 peasy-js、React、Angular(使用 TypeScript)、MongoDB、Node.js 和 Express 编写的订单录入/库存管理系统。
-
可以查看额外的示例,使用 Promise 或使用回调,展示了如何创建业务服务、自定义命令、业务规则,以及如何将它们连接在一起。该示例还展示了如何使用该服务。要查看其运行效果,请从命令行运行以下一个或两个命令:
node src/sampleWithPromises.js
node src/sampleWithCallbacks.js
主要角色
业务服务
业务服务实现代表一个实体(例如用户或项目),负责通过命令暴露业务功能。这些命令封装了 CRUD 和其他业务相关的逻辑。
命令
命令负责通过命令执行管道协调初始化逻辑、业务和验证规则执行以及其他逻辑(数据代理调用、工作流逻辑等)的执行。
规则
可以创建规则来表示业务规则(授权、价格有效性等)或验证规则(字段长度、必填等)。规则由命令使用,可以链接、配置为基于先前规则的执行进行执行等。规则还可以配置为根据其执行结果调用代码。
数据代理
数据代理负责数据存储和检索,并作为数据存储(数据库、Web 服务、缓存等)的抽象层。
peasy-js 角色工作图
2.0 版本有什么新内容?
您可以在这里查看 peasy-js 2.0 引入的所有变更。
贡献
我们欢迎所有贡献,包括一般框架改进、示例客户端使用者、代理实现和文档更新。想要参与吗?请与我们分享您的想法。或者,您可以提出拉取请求,我们会尽快处理。
喜欢您所看到的吗?
请考虑通过为项目加星来表示您的支持。