DDD
文章平均质量分 92
0x8g1T9E
0x8g1T9E
展开
-
解构领域驱动设计(三):领域驱动设计
在上一部分,分层架构的目的是为了将业务规则剥离出来在单独的领域层中进行实现。再回顾一下领域驱动设计的分层中应用层代码的实现。@Overridepublic void pay(int orderId, float amount) { DesignerOrder order = designerOrderRepository.selectByKey(orderId); // 领域对象的加载 if (order == null) { AppException....原创 2021-06-02 09:17:30 · 1839 阅读 · 0 评论 -
解构领域驱动设计(二):分层架构
反映业务规则的代码是整个软件的核心,但是它一般只占很小的一部分,在传统的基于贫血模型的分层软件架构中,业务规则可能分散到各个层、各个代码段,从而使得通过代码来还原业务规则或者保证代码与业务规则一致将变得非常困难。DDD分层架构的核心思想就是将所有业务规则的代码抽取到领域层,保证领域层的编码与领域模型是完全一致的。下图是DDD的分层架构。一定要牢记:DDD分层架构一个核心任务,就是将软件最重要的资产——业务规则分离出来,抽象在领域层,并确保这些代码是领域模型的正确实现。关于领域模型的实...原创 2021-06-01 09:42:41 · 1496 阅读 · 0 评论 -
解构领域驱动设计(一):为什么DDD能够解决软件复杂性
1 为什么我要研究领域驱动设计1.1 设计方法各样且代码无法反映设计我大概从2017年10月份开始研究DDD,当时在一家物流信息化的公司任职架构师,研究DDD的初衷在于为团队寻找一种软件设计的方法论。作为架构师,经常参与设计评审,包括:需求评审、设计评审、代码评审。在评审过程中,有一点感受非常深,就是评审过程非常痛苦且几乎没有效率和成果。让我痛苦的地方有:每一个系统分析师都是基于自己的方式来进行设计功能,有的用类图、有的基于流程图,有的详细、有的粗放,更麻烦的是,大家对业务背景的理解程度完...原创 2021-06-01 09:39:42 · 1338 阅读 · 0 评论