当我们创建一个软件应用时,这个应用的很大一部分并没有直接与领域关联,但它
们是基础设施的一部分或者是为软件本身提供服务的。最好能让应用中的领域部分与其
余部分相比保持尽可能小(而不是和其余部分掺杂在一起),因为一个典型的应用包含
了大量访问数据库、访问文件或网络、用户界面等相关的代码。
在一个面向对象的程序中,用户界面、数据库以及其他支持性代码经常被直接写到
业务对象中。附加的业务逻辑被嵌入到 UI 组件和数据库脚本的行为中。之所以有时候
这样做,原因是这样可以很容易地让事情快速工作起来。
但是,当领域相关的代码被混入到其他层时,要阅读和思考这些代码也变得极其困
难。表面看上去是对 UI 的修改,却变成了对业务逻辑的修改。对业务规则的变更可能
需要谨慎跟踪用户界面代码、数据库代码以及其他程序元素。实现粘连在了一起,模型
驱动对象(model-driven objects)于是变得不再可行。也很难开展自动化测试。对于所
有活动中包含的全部技术和逻辑而言,程序必须保持简单,否则就会变得很难理解。
因此,将一个复杂的程序划分成多个层。为每一个层开发一个内聚的设计,让每个
层仅依赖于它底下的那些层。遵照标准的架构模式实现与其上面的那些层的低耦合。将
领域模型相关的代码集中到一个层中,把它从用户界面、应用和基础设施代码中隔离开
来。领域对象不必再承担显示自己、保存自己、管理应用任务的职责,而是专注于表达
领域模型。 这会让一个模型逐渐进化得足够丰满、 足够清晰, 以便捕获基本的业务知识,
并且能够正常工作。
相关推荐
DDD领域驱动设计&中台实践资料合集,共20份。 DDD促进传统架构微服务转型 化繁为简--DDD驱动复杂业务软件架构的演进 基于FP的DDD实践 基于DDD的领域建模中的模版和工具实践 架构分层模型适配 金融支付系统的改造之...
P11 DDD实践——不同侧重点的DDD总结 课程特点: 大白话讲解领域驱动设计的晦涩词汇,手把手学习战略设计和战术设计,并配合实际项目进行开发落地实战,包括四层架构、洋葱架构、六边形架构、整洁架构等讲解。
不同于其它的架构方法,领域驱动设计DDD(DomainDrivenDesign)提出了从业务设计到代码实现一致性的要求,不再对分析模型和实现模型进行区分。也就是说从代码的结构中我们可以直接理解业务的设计,命名得当的话,非...
JAVA,DDD领域设置模型,JAVA案例源码,让你1秒就懂DDD。
DDD领域驱动设计&中台实践资料(20份): DDD促进传统架构微服务转型(42页).pdf DDD在旅游电商架构演进中的实践(47页).pdf DDD实践中的那些坑(28页).pdf DDD的为与不为(25页).pdf Every Entity as A ...
最新领域驱动设计(DDD)资料合集,共23份。 金融支付系统的改造之路 化繁为简--DDD驱动复杂业务软件架构的演进 基于DDD的领域建模中的模版和工具实践 基于FP的DDD实践 架构分层模型适配 可视化的遗留系统微服务...
DDD实战,领域驱动设计 DDD在旅游电商架构演进中的实践 Every Entity as A Microservice - 领域驱动设计DDD 分享我对领域驱动设计(DDD)的学习成果 化繁为简--DDD驱动复杂业务软件架构的演进 基于DDD的领域建模中的...
一个非常好的文档来介绍DDD分层架构参考代码目录结构,接口层,应用层,领域层和基础层等!
DDD 领域驱动 简单的项目设计
第1章 初步了解DDD 课程介绍 抛开杂念,看看传统三层CRUD编程方式 DDD领域驱动设计到底是什么? DDD和传统三层优劣势比较 DDD在国内现象是个什么情况? DDD从战略设计到战术设计概览 第2章 领域分析模型 核心域,...
ddd理解
DDD领域驱动设计
领域驱动设计DDD 嘉禾培训教材领域驱动设计DDD 嘉禾培训教材
DDD领域驱动设计和中台实践资料合集
DDD 领域驱动设计
DDD领域建模培训文档,很不错,欢迎大家下载,快来啊!
1 DDD领域驱动设计概述 2 DDD核心概念 3 领域建模 : 事件风暴 4 DDD的中台、微服务架构映射 5 DDD架构演进
DDD领域建模
GNU DDD(Data Display Debugger)是命令行调试程序,如GDB、DBX、WDB、Ladebug、JDB、XDB、Perl Debugger或Python Debugger的可视化图形前端。它特有的图形数据显示功能(Graphical Data Display)可以把数据结构按照...
DDD 实践-消息系统 DDD(领域驱动设计)理论结合实践