编写处理非常复杂任务的软件需要分离关注点,这样允许隔离地设计软件的不同部分。同时,不管是否分离,都要维护好系统中复杂的交互。
分层的基本原则是:某一层中的所有元素都只能依赖于同一层中的其它元素或者依赖于其直接的下层元素。向上的信息传递必须经过一些间接机制。
分层的意义在于每层都只负责计算机程序中的某一个特定方面,这种基于专责的划分,可以使各方面的设计更加具有内聚性,并且使得这些设计更加容易解释。
大多数成功的分层设计都可以使用四种概念层的某些版本来实现:
- 用户界面层(表示层):负责向用户显示信息,并且解析用户命令。外部的执行者有时会是其它的计算机系统,不一定是人。
- 应用层:定义软件可以完成的工作,并且指挥具有丰富含义的领域对象来解决问题。这个层所负责的任务对业务影响深远,对跟其它系统的应用层进行交互非常必要。这个层要保持简练。它不包括处理业务规则或知识,只是给下一层相互协作的领域对象协调任务,委派工作。在这个层次中不反映业务情况的状态,但反映用户和程序的任务进度的状态。
- 领域层(模型层):负责表示业务概念、业务状况的信息以及业务规则。尽管保存这些内容的技术细节由基础结构层来完成,反映业务状况的状态在该层中被控制和使用。这一层是业务软件的核心。
- 基础结构层:为上层提供通用的技术能力--应用的消息发送、领域持久化,为用户界面绘制窗口等。通过架构框架,基础结构层还可以支持这四层之间的交互模式。
分享到:
相关推荐
分享我对领域驱动设计(DDD)的学习成果 化繁为简--DDD驱动复杂业务软件架构的演进 基于DDD的领域建模中的模版和工具实践 基于FP的DDD实践分享 架构分层模型适配 金融支付系统的改造之路 可视化的遗留系统微服务改造 ...
DDD领域驱动设计
业务架构设计与DDD领域驱动设计
视频详细讲解,需要的小伙伴自行网盘下载,链接见附件,...大白话讲解领域驱动设计的晦涩词汇,手把手学习战略设计和战术设计,并配合实际项目进行开发落地实战,包括四层架构、洋葱架构、六边形架构、整洁架构等讲解。
DDD 领域驱动设计
C#-DDD领域驱动设计-曹建代码,包含订单,商品,收货地址等领域设计,包含数据库脚本
内含学习领域驱动设计思想的基本架构、基本知识点、领域驱动实施方式、不同框架实践DEMO
《实现领域驱动设计》共分为14 章,在DDD 战略部分,《实现领域驱动设计》向我们讲解了领域、限界上下文、上下文映射图和架构等内容,战术部分包括实体、值对象、领域服务、领域事件、聚合和资源库等内容。...
在应用系统开发中,采用严格的、单一的、真正的的分层架构是可以的,但实际上我们已经采用了多种架构模式设计系统。当多种不同范式的架构混合在一起,你会不会出现“指鹿为马”的现象呢? 在研究分层架构时,常通过...
DDD领域驱动设计和中台实践资料合集
最新领域驱动设计(DDD)资料合集,共23份。 金融支付系统的改造之路 化繁为简--DDD驱动复杂业务软件架构的演进 基于DDD的领域建模中的模版和工具实践 基于FP的DDD实践 架构分层模型适配 可视化的遗留系统微服务...
DDD领域驱动设计&中台实践资料合集,共20份。 DDD促进传统架构微服务转型 化繁为简--DDD驱动复杂业务软件架构的演进 基于FP的DDD实践 基于DDD的领域建模中的模版和工具实践 架构分层模型适配 金融支付系统的改造之...
*领域驱动设计伪创新:六边形架构算吗 *分层架构是DDD提出的吗 *《实现领域驱动设计》译文暴露的问题 *为什么要追究糊涂用语 *DDD伪创新为什么受欢迎 *DDD伪创新的来源 *遮羞布:赶紧“敏捷”编码 *开发团队脓包01:...
DDD领域驱动设计实战落地解惑-SACC2021年中国系统架构师大会
DDD领域建模
2018年12月初,领域驱动设计峰会将再次在北京国际会议...2018年的领域驱动设计峰会是一次对国内DDD实践的检阅和展望,和业界同行一起探索DDD,同时我们也希望在软件行业可以更大范围和更深层次的展开实践的道路与前景
希望为国内的领域驱动设计(DDD) 实践者们提供了一个互相交流、分享自己团队的成功经验的机会的平台,使得领域驱动设计 (DDD)的架构思想能够在国内被更多人所认知,从而形成更大的规模效应。 ➜ DDD China ...
DDD领域驱动设计-NopCommerce简易原型
领域驱动设计:学习DDD领域驱动设计实践,更好的设计自己的程序
DDD领域驱动设计浮夸,Eric Evans开了个坏头 领域驱动设计伪创新 之 聚合根 哪些中文资料上有领域模型案例 领域驱动设计割裂历史,哪里有详细一些的真实历史 软件开发废话赏析:事件风暴 领域驱动设计伪创新:为...