DDDplus Github project address

DDDplus(cp-DDD-Framework), a lightweight business development framework, is based on DDD ideas, committed to the precipitation and inheritance of business assets, comprehensive solution to the expansion of complex business scenarios, the realization of the core elements, enabling the construction of the central platform.

Integrated with the pre-Taiwan complex ecological collaboration methodology, fully considering the organizational structure, technical debt, learning threshold, evolvability, operation and implementation costs and risks and developed for the complex business scenario architecture design, redefine business development, is the top-level design and complete solution of the Mid-Taiwan architecture.

It is currently used in multiple complex mid-Taiwan core project production environments.

State of the business development framework

There are many technical frameworks on the market, as well as some Low Code and even Codeless frameworks for simple business scenarios, but open source business development frameworks for solving complex business scenarios are currently blank.

The middle stage architecture, more stay in the idea and methodology, specific in the code level how to land, is blank at present.

DDDplus, a lightweight business development framework, addresses these gaps.

Age characteristics

Uncertainty and change are the dominant themes of this era.

Businesses need to go online quickly, and constantly adjust and upgrade according to user feedback. Businesses with vitality actively seek change, unchanged or dead is the current consensus of many industries, and the response of enterprises to change has become the key to success or failure.

Eggs, broken from the inside, the result is life; From the outside. It’s food.

Business development pain points

  • How to build software better?
    • I am not satisfied with the existing code, I know it is messy, but I do not know how to start to solve
    • I’ve heard of an overall elegant business architecture that allows for local corruption, but I haven’t seen one
  • How do you manage code complexity?
    • The system is getting less and less manageable
    • In particular, there is no end to backscheduling and new PRDS are flooding in
  • How do you make code domain knowledge?
    • How do you make your code reflect your business?
    • Does the system support me to sort out the business from different dimensions with different granularity and perspectives at low cost?
    • How does the code reflect the contents of the PRD?
    • How do you get consistency between the product and the technology?
    • Heard ofcode is documentationBut what iscode is domain knowledge?
    • What does structuring of code mean?
  • How do you decouple business code from technical code?
    • Business is business, technology is technology
    • Some technical base, I want to use outsourcing implementation, but I am a code base, I also can not believe the outsourcing quality, how to solve?
    • Some of my team are clearly suited for business development, while others are suited for technical systems development. How do I manage people in layers?
    • Trying to figure out the business from the code would look something like this: Q: “What did you have for dinner?” . A: “I ate the egg and tomato fried in oil with A spoon.”
  • Business uncertainty, especially 2B business, is even worse if there is KA
    • How to elegantly solve: business logic extension, business model extension, business process extension
    • Some if conditions, scenes no longer exist, can not be deleted, because its logic is scattered everywhere
    • How do we count code specific to a particular business that we have been developing for several months?
    • There are often special creations that require me to add fields or even tables
    • Here’s a new scene with a different flow. I have already used the template method to solidify the process, what can I do?
    • How do you respond quickly to the myriad demands of individuation while remaining uncorrupted
  • Research and development (
    • How do you get developers to know where the code is right away when they get the requirements, and build the wheel and the concept without being different
    • Don’t talk to me about various methodologies, architectural ideas, I just want to know how well this PRD is implemented: Donot make me think!

Sources of complexity for business development

Requirement is the main factor causing software system complexity, but implementation is also a factor that can not be ignored. When we analyze the complexity of the system, we can start from the two dimensions of business complexity and technical complexity.

Fundamental source

  • There are many different service scenarios
  • More personalized needs
  • There are many business terms, and each term may correspond to a large number of fields, logic, and processes
  • Business process is long, any node error will cause the whole bug
  • 2B business is more serious. Every enterprise in every industry has different business demands

Attached source

  • Lack of top-level design, resulting in arbitrary code
    • Thousands of different code styles and designs
    • No top-level logic, no soul
  • With the coupling of business and technology, the code itself fails to understand the nature of the business
  • Poor code quality
  • The code itself is poorly interpretable
  • Team size
  • mobility
  • The project flow
  • Delivery cycle

The roots of business development

Business code quality is not too bad if you can do the following:

  • convergence
  • encapsulation
  • polymorphism
  • Can be read

A pain point in the middle of the business

  • China, it isEnterprise capability reuse platformWhat does that mean
    • What is competence
    • What are business assets and how do they relate to data assets? What other soft assets are there? How to land?
  • How to support the collaborative development of the front desk and the middle station, break the bottleneck of the single point in the middle station, each performing its own duties, personnel decoupling, development decoupling
  • There’s a lot of talk about middle station. What should the code look like?
  • How should the front desk and center organization divide the labor
    • What does the front desk do? What does the middle desk do
    • How does business evolution work
    • How to sink the front desk business to the middle stage, how to control the risk
  • How to solve the rate matching problem between front desk and middle desk, so that the middle desk does not block the development of front desk business
  • How to realize the business isolation of each front desk to prevent mutual interference?

All these questions can be answered in DDDplus.

DDDplus Github project address