DDDplus 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
DDDplus 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票

软件简介

一套轻量级业务中台开发框架,以DDD思想为本,致力于业务资产的可沉淀可传承,全方位解决复杂业务场景的扩展问题,实现中台核心要素,赋能中台建设。

融合了前中台复杂生态协作方法论,充分考虑组织架构、技术债、学习门槛、可演进性、运维成本和风险而开发的,解决业务开发痛点,是中台架构的顶层设计和完整解决方案。

Current status

Used for several complex critical central platform projects in production environment.

多个复杂的中台核心项目生产环境下使用。

Quickstart

Please visit Quickstart.

Features

  • Based on DDD, but beyond DDD
  • 14 key business abstractions cover most complex business scenarios
  • Full layered extensibility
  • Empowers InnerSource
  • Total solutions oriented

核心特性:

  • 以DDD架构思想为本,面向复杂业务场景架构设计
    • 通过代码框架提供足够约束,让DDD不再仅停留在思想层面
    • 降低DDD上手门槛,为研发减负,防止落地偏差
    • 降低复杂度,持续保障业务资产的可沉淀可传承
    • 提供dddplus-archetype,自动生成包含最佳实践的工程脚手架
  • 14个核心业务抽象(常用的9个),勾勒出业务中台骨架
    • 中台架构的顶层设计
    • 以不变应万变
    • 研发填空式开发
  • 全方位解决业务的不确定性
    • 业务逻辑、流程、逻辑模型、数据模型的扩展、多态体系
    • 框架本身支持再次扩展
    • 扩展业务包支持不重启热更新
  • 支撑中台战略的复杂生态协作
    • 前台、中台解耦
    • 业务隔离
    • InnerSource协同机制
  • 完整的解决方案
    • 业务能力演化,业务测试,最佳实践,架构持续防腐,重构的导流验证,绞杀者落地方案等
    • 提供一套完整的Demo工程,手把手真实场景教学

Modules

dddplus
   ├── dddplus-spec    - Specification of DDDplus
   ├── dddplus-runtime - Runtime implementation
   ├── dddplus-plugin  - Plugin jar hot reloading mechanism
   ├── dddplus-unit    - Extra unit test facilities
   ├── dddplus-enforce - Enforce expected evolvement of the business architecture
   └── dddplus-test    - Fully covered unit test cases

Key abstractions

Reference documentation

Please visit Javadoc.

Using DDDplus

已推送至Maven中央库,可直接引入。

Maven

<properties>
    <dddplus.version>1.0.1</dddplus.version>
</properties>

<dependency>
    <groupId>io.github.dddplus</groupId>
    <artifactId>dddplus-runtime</artifactId>
    <version>${dddplus.version}</version>
</dependency>

Gradle

dependencies {
    ...
    compile 'io.github.dddplus:dddplus-runtime:1.0.1'
}

Building from Source

git clone https://github.com/funkygao/cp-ddd-framework.git
cd cp-ddd-framework/
mvn install # will run all test cases

The Demo

Please visit 使用该框架搭建订单履约中台的例子.

FAQ

Please visit FAQ.

Landscape of Central Platform

业务中台建设全景图。

Contribution

You are welcome to contribute to the project with pull requests on GitHub.

If you find a bug or want to request a feature, please use the Issue Tracker.

For any question, you can use Gitter Chat to ask.

Licensing

DDDplus is licensed under the Apache License, Version 2.0 (the "License"); you may not use this project except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (5)

加载中
铺的太大了。 初期,还是要多说说具体的好处
11/03 09:58
回复
举报
不错
11/03 09:58
回复
举报
点赞,学习
11/03 00:02
回复
举报
挺不错的,学习一下
11/02 19:01
回复
举报
FunkyGao软件作者
打分: 力荐
在中台实践中的架构师,可以了解一下
10/21 00:59
回复
举报
更多评论
发表于软件架构专区
11/24 14:38

DDDplus 1.1.0 发布,轻量级业务中台开发框架

FIXED 解决了BaseDomainAbility由于泛型机制不支持继承的问题 #7 解决DomainArtifacts暴露扩展点不全的问题:如果一个扩展点只被Partner实现,就没有暴露 #30 解决了Plugin jar reload后,DomainArtifacts没有刷新的问题 Feature #37 除了Partner/Pattern的静态的扩展点路由机制外,提供了动态路由机制:Policy,供使用者...

1
10
发表于软件架构专区
11/11 13:34

DDDplus 1.0.3 发布,轻量级业务中台开发框架

本次更新内容 FIXED #20 Plugin reloading, Spring unable to get the Partner bean #28 ArchitectureEnforcer的接口规范 bug,需要把注解排除在外 dddplus/dddplus#4 在Spring Boot集成时,无法触发IStartupListener Improvement #19 Add @Specification for ISpecification interface: specifications are Spring bea...

0
13
发表于开发技能专区
11/02 15:03

DDDplus 1.0.2 发布,轻量级业务中台开发框架

本次更新内容 修复Plugin在动态加载时,如果不使用Spring加载会造成空指针的问题 新特性:ISpecification & Notification Specification Pattern 在DDDplus里提供 便于把业务规则:业务约束显式化表达,沉淀和复用 更新详情:https://github.com/funkygao/cp-ddd-framework/releases/tag/v1.0.2 DDDplus是一套轻量级业务...

1
25
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于软件架构专区
10/20 22:59

DDDplus FAQ

Funky Gao edited this page yesterday · 6 revisions 什么是具有中台特色的DDD? 我的项目不是中台,能使用吗? 无法查看首页的中台全景图怎么办? 扩展点越来越多了,我怎么管理? 为什么没有监控和治理机制 什么是...

0
0
发表于开发技能专区
10/22 01:39

DDDplus 核心抽象

14个核心抽象,勾勒出业务中台骨架。

0
0
发表于软件架构专区
10/20 23:01

DDDplus 业务中台开发框架 快速入门

Tip:使用该框架,需要对DDD的分层架构有基本了解:该框架面向的是DDD的domain层的开发框架。 IDomainService,领域服务,在DDD里是facade,完成一个完整的业务活动,例如接单。 接单在订单履约系统里,是非常复杂...

0
1
发表于软件架构专区
10/20 22:50

DDDplus 如何把 DDD 和中台架构进行的融合和扩充

Why DDD matters? GoF Design Pattern、EIP、Refactoring、P of EAA等,它们的理念是通过技术手段解决技术问题,并没有根本上解决业务的问题。 DDD是真正解决业务问题的架构思想: 业务和技术解耦 控制软件的复杂...

0
0
发表于程序人生专区
10/20 23:02

示例:一套使用 DDDplus 开发的订单履约中台

一套使用 DDDplus 开发的订单履约中台 项目背景 基本思想 已解决的问题 更详细信息 项目背景 中台部门要实现一套订单中台(OMS),以订单为线索,实现销售订单的物流履约全生命周期管理,支持全渠道、全场景,为多个...

0
0
发表于软件架构专区
10/20 22:55

为什么 DDDplus 通过框架解决业务开发痛点,解决业务中台架构问题?

Why framework matters? If every developer is allowed to implement their own architecture, you can easily end up with lots of optimised but fragmented ideas in the code base. Over time this becomes ......

0
0
发表于软件架构专区
10/20 22:48

为什么我们需要一套 DDDplus 这样的解决复杂业务场景的业务开发框架?

时代特征 不确定性和变化是这个时代的主旋律。 业务需要快速上线,并根据用户的反馈不停地调整和升级,有生命力的业务主动寻求变化,不变则亡是很多行业目前的共识,企业应对变化的响应力成了成败的关键。 鸡蛋,...

0
0
发表于开发技能专区
10/27 07:51

DDD,如何稳稳当当落地到中台?

Why DDD matters? GoF Design Pattern、EIP、Refactoring、P of EAA等,它们的理念是通过技术手段解决技术问题,并没有根本上解决业务的问题。 DDD是真正解决业务问题的架构思想: 业务和技术解耦 控制软件的复杂...

0
0
发表于开发技能专区
10/23 10:59

为什么迫切需要一套直接可落地的中台开发框架

时代特征 不确定性和变化是这个时代的主旋律。 业务需要快速上线,并根据用户的反馈不停地调整和升级,有生命力的业务主动寻求变化,不变则亡是很多行业目前的共识,企业应对变化的响应力成了成败的关键。 鸡蛋,...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
5 评论
47 收藏
分享
返回顶部
顶部