The author of DDD said that the development of DDD is not over!
2021-05-04 15:49:50 【Jiedao jdon】
People often invite Evans Yes DDD Make a strict definition , In fact, this may lead to DDD Go to religious fundamentalism , Because when DDD After being strictly defined , The slightest change will be criticized by some academic dogmatism “ You didn't do DDD”, Then you can't really innovate . In order to make DDD Keep it going , It has to allow innovation and development .
Evans Think DDD There are still some key guiding principles ： Focus on the core areas , Domain experts and programmers need creative collaboration , Explore model design , Speaking a unified language in a context with clear boundaries , You need to keep looking at things from a skeptical perspective (banq notes ： I think so I am , Only skeptical thinking can prove one's existence ), Frequently ask ： What if we're wrong ？ If we don't see DDD Provide the expected results , that , As a professional , We need to rethink our principles .
It is a pity , Some teams implement DDD It's really disappointing , For many reasons , For example, it has something to do with culture (banq notes ： Cultural and philosophical background , Software analysis is a philosophical method of logical analysis , It belongs to Russell 、 Logicism represented by Wittgenstein , This belongs to the Anglo American school , But the domestic philosophy is basically German continental school , It belongs to the school of Hegel Marx , Most of the students didn't receive the elementary education of formal logic in school ).
Except for culture , The team lacks the skills to succeed , There are also bad luck reasons ,Evans Trying to categorize the causes , Think DDD Weak technology or DDD The main reason is that the principle is defective . If the technology is weak , It can be done without changing DDD The basic principles of solving . for example , Event storm is a powerful technology , Can help start collaboration . however , If it is DDD The principle itself is flawed , Can we not give up completely DDD Make some changes to them if you want to ？ This is an open question to consider .
The development of micro services also benefits from DDD Its own value ,Evans Think it's positive , But it also emphasizes the need to be careful . Even if it's not a microservice ,Explore DDD The meeting may not be held today , But things like “ Every microservice is a bounded context ” It's a bit extreme , It's like an over realistic recipe , Deviated from DDD a key .
Evans Compare a large software system with a community garden , In the garden commons , People have their own private garden space ( Bounded context ), Those legacy systems are like ripe fruits , Gardens are most valuable in late summer and early autumn , Because the most productive , The harvest season , In the early spring, you can trim and change the garden , At this time, your garden is the most potential (banq notes ： The use of the weak ), Again , The most developmental stage of software is not the most productive stage .
The last point is , advance DDD The secret to success is cooperation . He thinks meetings are the most effective opportunity , You can bring experts together , Discuss ideas and learn from each other , Not just in the form of radio and lectures . He advocated DDD Experts do experiments , And in DDD Share these experiments and results in the community . It's just as important to bring in experts and opinions from other fields , For example, authors of libraries, packages and languages . He concluded. ,“DDD In the past 15 I've been shocked several times in the past year . I think it's time for another major reshuffle .”
banq Point of view ： In China, product managers should master DDD, In this way, product managers and programmers will have a unified language , Some time ago , An event happened in an insurance company when the programmer started beating the product manager , People only see the surface of the problem , In fact, there is no common language between product managers and programmers , If there is no common language between husband and wife , It's prone to stress and anxiety . The product manager raised a customer demand , mobile phone App The background needs to change according to the color of the phone jacket , No matter whether the customer's demand is reasonable or not , But the product manager should not kick the demand to the program ape like a kickball , Instead, we should use domain language to analyze customers' needs , The figure below shows the user needs and DDD And the storm of events ：
[ The quilt banq On 2018-09-16 09:14 A modified ]
- 领域驱动设计简介 - danhaywood(点击标题见原文)
- Next generation language robot surpassing Siri and Xiaoai: Turing test of gpt-3
- Class table inheritance pattern
- Block balking mode
- Proteus is a new platform for building streaming microservices using rsocket
- Introduction to Domain Driven Design - danhaywood
- 什么是Little定律(littles law)
- What is little's law
Introduction to OpenAPI specification
Hello CTP series blog
CodeForces CF242E (CodeForces Round 149 Div.2 Problem E)题解
Codeforces cf242e (codeforces round 149 div.2 problem E)
探索使用 Golang 和 Webassembly 构建一个多人游戏服务器
Explore using golang and webassembly to build a multiplayer game server
Laser ＆ Photonics Rev.：驾驭消逝波——一种新型的各向异性超构表面
- Small science: Bi te Se compound heterostructure nanosheets achieve significant improvement in thermoelectric properties
- Laser & Photonics Rev.: driving evanescent waves -- a new type of anisotropic surface
- Aenm: high performance halide solid electrolytes based on cationic lattice control
- Small: driving force and synergistic mechanism in peptide hierarchical assembly
- Rhel8 learning section 3
- 探索使用 Golang 和 Webassembly 构建一个多人游戏服务器
- Explore using golang and webassembly to build a multiplayer game server
- Structure and Deconstruction
- 第一性原则：伊隆·马斯克（Elon Musk）论自我思考的力量 - jamesclear
- The first principle: Elon Musk's view on the power of self thinking - James clear
- Operation and maintenance boss ridicules me, you don't know this?
- Web security practice
- SQL memo
- One year summary of event traceability and cqrs implementation
- Netflix test c assandra:- Million writes per second
- How to reform the current system architecture
- Two terminal network reliability
- 干货 | 日访问过亿，办公IM及开放式平台在携程的实践
- Dry goods daily visit over 100 million, office IM and open platform practice in Ctrip
- Programmer's 4 ability levels and 8 work bad habits, certainly have you
- Mockito 小结
- Summary of mockito
- [玩转UE4动画系统＞基础篇] 之 什么是射线检测
- What is radiographic testing
- Vscode + sublime installation and Sinicization
- Vscode + sublime installation and Sinicization
- 软件设计专家的八种习惯 | 麻省理工学院出版社
- 讨论：这样基于Domain Event的分层是否合理？