内容概述

将领域对象与系统中的其他功能分离

第一小节

介绍了分离领域的技术:Layered Architecture

第二小节

指出大部分软件系统都会采用分层的架构,但是分层方案有很多种。领域驱动设计只要求领域层存在即可,并且领域模型在领域层中表现不与程序的其他关注点分离。

第三小节

介绍了一种与领域驱动设计相反的设计方法Smart UI。分析了Smart UI和领域驱动设计各自的使用场景。

设计方法 实现方法 适用场景
Smart UI 在用户界面中实现所有的业务逻辑 业务规则很少的小型项目
DDD(领域驱动设计) 领域层是单独的一层 业务规则多的大型项目

第四节

基础设施与用户界面之外的其他影响分离领域层的因素:

  • 没有完全集成到模型中的领域元素
  • 与同一领域使用不同模型的其他开发团队合作

    解决方法:

  • Bounded Context
  • AntiCorruption Layer

自己一句话总结

应用关注点分离原则,将领域对象与系统的其他功能分离形成领域层。

我的观点

这章内容是对关注点分离原则的直接使用产生的结果,没有任何高大上的内容。唯一可能的贡献,提出了领域层这个名词。
作者对于分层架构的具体讨论中的部分内容我并不认同。具体可以参考《Clean Architecture》作者的观点。

转载于:https://www.cnblogs.com/x2zh/p/10796721.html

《领域驱动设计》第二部分:模型驱动设计的构造块 第四章:分离领域 阅读笔记...相关推荐

  1. 领域驱动设计基础-《复杂软件设计之道:领域驱动设计全面解析与实战》笔记 - 1

    在我的博客阅读本文 目录 1. Top Level 2. 有界上下文 2.1. 统一语言 2.2. 如何发现有界上下文和统一语言 2.3. 有界上下文之间的关系 2.4. 核心子域.支持子域与通用子域 ...

  2. PHP动态设计的设计流程,《PHP设计模式介绍》第十四章 动态记录模式

    到目前为止,您所看到的这些设计模式大大提高了代码的可读性与可维护性.然而,在WEB应用设计与开发中一个基本的需求与挑战:数据库应用,这些设计模式都没有涉及到.本章与接下来的两章-表数据网关与表数据映射 ...

  3. DDD 洋葱架构才是 yyds!阿里大牛手记(DDD)领域驱动设计应对之道

    虽然身为架构师,设计一个高质量的架构依然是复杂与困难的. 简单来说,动用大量的资源只为了一套优质的三高架构并不正确,而是该在了解当前业务现状的情况下,创造出灵活.可维护.健硕能成长的. 就拿近两年程序 ...

  4. DDD洋葱架构才是 yyds,阿里架构师手记(DDD)领域驱动设计应对之道

    虽然身为架构师,设计一个高质量的架构依然是复杂与困难的. 简单来说,动用大量的资源只为了一套优质的三高架构并不正确,而是该在了解当前业务现状的情况下,创造出灵活.可维护.健硕能成长的. 就拿近两年程序 ...

  5. 《领域驱动设计-软件核心复杂性应对之道》阅读笔记(二)

    第二部分 模型驱动设计的构造块 第4章 分离领域 4.1模式:LAYERED ARCHITECTURE 在面向对象的程序中,常常会在业务对象中直接写入用户界面.数据库访问等支持代码.而一些业务逻辑则会 ...

  6. 爽,字节架构师DDD(领域驱动设计)巅峰之作,拆解业务代码真好用

    前 言 至少20年前,一些顶尖的软件设计人员就已经认识到领域建模和设计的重要性,但令人惊讶的是,这么长时间以来几乎没有人写出点儿什么,告诉大家应该做哪些工作或如何去做.尽管这些工作还没有被清楚地表述出 ...

  7. 领域驱动设计(DDD)的精髓

    边界是核心 无论是从宏观到微观再到纳米层次,还是从战略设计推进到战术设计,领域驱动设计一直强调的核心思想,就是对边界的划分与控制. 从分析需求一开始,我们就需要通过确定项目的愿景与目标,划定问题空间, ...

  8. 领域驱动设计,让程序员心中有码(三)

    "正如西方古典哲学在现代社会逐渐式微,成为少数内心丰满者们填充自己精神世界的宝贵食物,UML也这样:互联网技术飞速发展的今天,各类软件设计思想层出不穷,正是站在UML和其他各种软件基础理论巨 ...

  9. 实施领域驱动设计(Implementing Domain Driven Design翻译)

    实施领域驱动设计(Implementing Domain Driven Design翻译) 引言 介绍 这是实现领域驱动的实用指南设计(DDD).虽然实现细节依赖于ABP 框架基础设施,但是核心概念. ...

最新文章

  1. Servlet和SpringMVC补课
  2. Vue—相关工具—webpack
  3. .Net Core3 新特性整理
  4. Aminer学术社交网络数据知识图谱构建(三元组与嵌入)
  5. OpenCV--021:直方图规定化
  6. shark恒破解笔记4-API断点GetPrivateProfileStringA
  7. Creator3D新版本震撼来袭
  8. Unity获取IOS端相机权限的状态
  9. Python——Dict类型
  10. 基于计算机显卡的研究
  11. Golang深拷贝浅拷贝
  12. 计算幻术之路(二):增强现实的现实
  13. Word背景默认为绿色,如何更改默认为白色
  14. 全球及中国视频会议摄像机行业市场运营模式与投资战略规划研究报告2022-2028年
  15. java最简单的kafka生产者和消费者,未结合spring
  16. 剪视频一点都不难,多款超实用剪辑软件全方位评测!
  17. 十大远古神秘失落文明
  18. 最靠谱的投资渠道之一:70%亏损的股票市场
  19. ZY Player 2.8.1 中文版 全网视频播放器
  20. [安装之5] Mac pro更换大内存固态硬盘实践教程

热门文章

  1. Python学习-终端字体高亮显示
  2. zjnu1730 PIRAMIDA(字符串,模拟)
  3. 利用malloc定义数组
  4. UNIX环境编程学习笔记(21)——进程管理之获取进程终止状态的 wait 和 waitpid 函数...
  5. [hadoop] kettle spoon 基础使用 (txt 内容抽取到excel中)
  6. 远程管理服务器的具体操作方法
  7. 闰秒导致MySQL服务器的CPU sys过高
  8. PetaPoco初体验(转)
  9. IE9给我带来的惊喜和不解(For Silverlight不解)
  10. linux 系统监控脚本