/cp-ddd-framework

A lightweight flexible development framework for complex business architecture!轻量级业务中台开发框架,中台架构的顶层设计和完整解决方案!

Primary LanguageJavaApache License 2.0Apache-2.0

License Mavenn Central CI Code Quality: Java Coverage Status TODO Ask Us Anything !

Table of content

Table of content


What is cp-ddd-framework?

cp-ddd-framework, also known as DDDplus, is a lightweight flexible development framework for complex business architecture.

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

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

Note: cp means Central Platform:中台。

Current status

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

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

Requirements

Requires Java 1.8+ and Spring 4.3.12.RELEASE or later.

Quickstart

快速入门

Please visit Quickstart.

Features

  • 以DDD架构**为本,面向复杂业务场景架构设计
    • 降低复杂度,持续确保业务资产可沉淀可传承
    • 通过代码框架提供足够约束,让DDD不再仅停留在**层面
    • 降低DDD上手门槛,为研发减负
  • 14个核心业务抽象,勾勒出业务中台的骨架
    • 中台架构的顶层设计
    • 以不变应万变
  • 全方位解决业务的不确定性
    • 业务逻辑、流程、数据模型的扩展、多态
    • 该框架本身支持再次扩展
    • 扩展业务包的不重启热更新
  • 支撑中台战略的复杂生态协作
    • 前台、中台解耦
    • 业务隔离
  • 完整的解决方案
    • 业务能力演化,最佳实践,架构持续防腐,绞杀者落地方案等
    • 提供完整的Demo工程,确保落地不走样

Modules

cp-ddd-framework
   ├── dddplus-spec    - Specification of the framework
   ├── dddplus-runtime - Runtime implementation
   ├── dddplus-plugin  - Plugin 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

14个核心抽象勾勒出业务中台的骨架,以不变应万变。

Reference documentation

Please visit Javadoc.

Using cp-ddd-framework

Latest version 0.1.1,已推送至Maven**库,可直接引入。

Maven

<properties>
    <dddplus.version>0.1.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:0.1.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

cp-ddd-framework 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.