/cp-ddd-framework

A lightweight flexible development framework for complex business architecture!轻量级业务中台开发框架!

Primary LanguageJavaApache License 2.0Apache-2.0

License CI Code Quality: Java Coverage Status TODO Ask Me Anything !

cp-ddd-framework (Central Platform:中台)

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**为基础,融合中台核心要素,赋能中台建设。

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

Ask Me Anything !

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.

What problems does it solve

  • born for extension, the OCP
  • 业务逻辑的扩展:uncertain biz logic
  • 业务流程的扩展:uncertain biz flow
  • 业务模型的扩展:uncertain biz model
  • 业务的多态:polymorphic business
  • 业务前台与中台如何协同:synergy between BP and CP teams
  • 如何让中台架构特色的DDD稳稳当当落地:DDD seamlessly landing in code
  • 如何降低系统实现的复杂度:reduce entropy of the system
  • empower the system to evolve without corruption
  • 普通研发如何编写出优雅的业务代码:low threshold for average developer to build elegant biz code
  • and more

Modules

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

Key abstractions

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

Using cp-ddd-framework

已推送至Maven**库,可直接引入。release版本近期发布。

Maven

<properties>
    <dddplus.version>0.0.1-SNAPSHOT</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.0.1-SNAPSHOT'
}

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 使用该框架搭建订单履约中台的例子.

Reference documentation

Please visit Javadoc.

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.