dddplus / Dddplus Demo
Licence: apache-2.0
♨️ Demonstrate how to use DDDplus to build a complex OMS.演示如何使用DDDplus实现一套订单履约中台OMS
Stars: ✭ 111
Programming Languages
java
68154 projects - #9 most used programming language
Projects that are alternatives of or similar to Dddplus Demo
dddplus-archetype-demo
♨️ Using dddplus-archetype build a WMS in 5 minutes. 5分钟搭建一个仓储中台WMS!
Stars: ✭ 56 (-49.55%)
Mutual labels: skeleton, ddd, scaffold
Baumeister
👷 The aim of this project is to help you to build your things. From Bootstrap themes over static websites to single page applications.
Stars: ✭ 171 (+54.05%)
Mutual labels: scaffold, skeleton
Vue2 Scaffold
The best scaffold for Vue 2.x based on vue-cli#vuejs-templates/webpack
Stars: ✭ 125 (+12.61%)
Mutual labels: demo, scaffold
Typescript Ddd Skeleton
🟨 TypeScript DDD Skeleton: Bootstrap your new projects or be inspired by this example project
Stars: ✭ 240 (+116.22%)
Mutual labels: ddd, skeleton
Skeleton
A ready-to-use CodeIgniter skeleton with tons of new features and a whole new concept of hooks (actions and filters) as well as a ready-to-use and application-free themes and plugins system. Facebook Page: http://bit.ly/2oHzpxC | Facebook Group: http://bit.ly/2o3KOrA. Help me carry on making more free stuff → http://bit.ly/2ppNujE ←
Stars: ✭ 74 (-33.33%)
Mutual labels: demo, skeleton
Digital Restaurant
DDD. Event sourcing. CQRS. REST. Modular. Microservices. Kotlin. Spring. Axon platform. Apache Kafka. RabbitMQ
Stars: ✭ 222 (+100%)
Mutual labels: demo, ddd
Php Ddd Skeleton
🐘🚀 PHP DDD Skeleton: Bootstrap your new projects or be inspired by this example project
Stars: ✭ 152 (+36.94%)
Mutual labels: ddd, skeleton
Laravel Scaffold
The base for developing awesome projects
Stars: ✭ 142 (+27.93%)
Mutual labels: demo, scaffold
csharp-ddd-skeleton
🦈✨ C# DDD Skeleton: Bootstrap your new C# projects applying Hexagonal Architecture and Domain-Driven Design patterns
Stars: ✭ 67 (-39.64%)
Mutual labels: skeleton, ddd
Dredd Example
Example application using Dredd and CI
Stars: ✭ 79 (-28.83%)
Mutual labels: scaffold, skeleton
Legacy Search
Demo project showing how to add elasticsearch to a legacy application.
Stars: ✭ 103 (-7.21%)
Mutual labels: demo
Relay Northwind App
A complex React, Relay, GraphQL demo app. Online demo:
Stars: ✭ 104 (-6.31%)
Mutual labels: demo
Flutter crop
Crop any widget/image in Android, iOS, Web and Desktop with fancy and customizable UI, in pure Dart code.
Stars: ✭ 107 (-3.6%)
Mutual labels: demo
Reactriot2017 Dotamania
🌐 Web scraping made easy with the visual 🗺 mind map editor to JSON
Stars: ✭ 107 (-3.6%)
Mutual labels: demo
Efficientdet.pytorch
Implementation EfficientDet: Scalable and Efficient Object Detection in PyTorch
Stars: ✭ 1,383 (+1145.95%)
Mutual labels: demo
Arkit 2 Image Tracking Demo
iOS 12 + ARKit 2 + Image tracking means: Harry Potter style moving pictures, living movie posters, video postcards, paper-thin “displays,” and lots more augmented reality fun.
Stars: ✭ 102 (-8.11%)
Mutual labels: demo
Demo of DDDplus
演示如何使用DDDplus实现一套订单履约中台OMS
。
目录
Terms explained
- bp
- Business Partner
- 业务前台
- cp
- Central Platform
- 中台
- isv
- Independent Software Vendors
- ka
- Key Account
- 关键客户
- oc
- Order Center
- 订单中心
如何运行该演示
git clone https://github.com/dddplus/dddplus-demo.git
cd dddplus-demo
mvn package
java -jar order-center-cp/cp-oc-main/target/dddplus-demo.jar
#java -jar order-center-cp/cp-oc-main/target/dddplus-demo.jar 9090 plugin
# in another terminal
curl -XPOST http://localhost:9090/order # submit an order
curl -XPOST http://localhost:9090/reload?plugin=isv # plugin hot reloading
演示代码入口
- 启动入口 OrderServer.java
- Web Controller OrderController.java
代码快速入门
-
中台架构特色的DDD分层架构
- 也可以通过dddplus-archetype,快速从零开始搭建中台的分层架构,并融入最佳实践
- domain层是如何通过依赖倒置模式与infrastructure层交互的
- Repository同理
- 为什么依赖倒置统一存放在facade包
- 如何理解 Step
- 扩展点:订单的防并发
- 前台对中台的步骤编排
- 扩展属性通过扩展点的实现
- 业务约束规则的显式化
- 中台统一定义,兼顾前台个性化的错误码机制
-
中台特色的领域模型
- spec jar里定义受限的领域模型输出给业务前台:通过接口,而不是类
- 一种中台控制力更强的shared kernel机制
- domain层是如何实现的领域模型接口的:订单主档
- Creator的作用
- 领域步骤,业务模式等,中台如何统一定义,并输出给前台使用?
-
中台如何输出资源给业务前台使用
- 如果业务前台要使用中台的MQ怎么办?能否中台封装一下,不直接暴露给前台
- 库存支撑域给订单核心域的能力输出
-
按需打包
- 这样才能做到一套代码,支撑国内、国际业务
- 灵活的部署形式
代码结构
依赖关系
order-center-cp
订单履约中台,通过spec jar为业务前台赋能,输出中台标准,并提供扩展机制。
order-center-pattern
订单履约中台本身的个性化业务,即个性化的业务模式包。
订单履约中台的多个业务前台
order-center-bp-ka
KA,关键客户的个性化业务通过扩展点的实现完成。
order-center-bp-isv
ISV,独立软件开发商的个性化业务通过扩展点的实现完成。
order-center-bp-fresh
Fresh,生鲜业务前台的个性化业务通过扩展点的实现完成。
这个业务BP,被中台要求不能使用Spring框架开发,不能在业务扩展包里使用AOP等Spring机制,只能严格实现中台定义的扩展点。
为了演示,ISV和KA这2个业务前台BP在开发业务扩展包时,可以使用Spring框架。
支撑域
- 库存支撑域
- 更多的支撑域...
如何快速搭建中台工程骨架
使用 dddplus-archetype,可以快速搭建中台的工程骨架。
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].