领域驱动模型(DDD)总结

领域驱动模型总结

1. DDD总体结构分为四层:

  • Infrastructure(基础实施层)
  • Domain(领域层)
  • Application(应用层)
  • Interfaces(表示层,也叫用户界面层或是接口层),各个层面的作用下面介绍。

2. DDD: application 应用层

  • 相对于领域层,应用层是很薄的一层,应用层定义了软件要完成的任务,要尽量简单.
  • 它不包含任务业务规则或知识, 为下一层的领域对象协助任务、委托工作。
  • 它没有反映业务情况的状态,但它可以具有反映用户或程序的某个任务的进展状态。
  • 对外为展现层提供各种应用功能(service)。
  • 对内调用领域层(领域对象或领域服务)完成各种业务逻辑任务(task)。
  • 这一层也很适合写一些任务处理,日志监控

3. DDD: domain 领域层

领域层主要负责表达业务概念,业务状态信息和业务规则。
Domain层是整个系统的核心层,几乎全部的业务逻辑会在该层实现。

领域模型层主要包含以下的内容:

  • 实体(Entities):具有唯一标识的对象
  • 值对象(Value Objects): 无需唯一标识的对象
  • 领域服务(Domain Services): 一些行为无法归类到实体对象或值对象上,本质是一些操作,而非事物
  • 聚合/聚合根(Aggregates,Aggregate Roots): 聚合是指一组具有内聚关系的相关对象的集合,每个聚合都有一个root和boundary
  • 工厂(Factories): 创建复杂对象,隐藏创建细节
  • 仓储(Repository): 提供查找和持久化对象的方法

4. DDD: infrastructure 基础实施层

最底层(但与所有层进行交互)
向其他层提供 通用的 技术能力(比如工具类,第三方库类支持,常用基本配置,数据访问底层实现)

基础实施层主要包含以下的内容:

  • 为应用层 传递消息(比如通知)
  • 为领域层 提供持久化机制(最底层的实现)
  • 为用户界面层 提供组件配置
  • 基础设施层还能够通过架构框架来支持四个层次间的交互模式。

5. DDD: interfaces 用户界面层(或表示层)

最顶层
请求应用层以获取用户所需要展现的数据(比如获取首页的商品数据)
发送命令给应用层要求其执行某个用户命令(实现某个业务逻辑,比如用户要进行转账)

用户界面层应该包含以下的内容:

  • 数据传输对象(Data Transfer Object): DTO也常被称作值对象,VO,实质上与领域层的VO并不相同
  • DTO是数据传输的载体,内部不应该存在任何业务逻辑,通过DTO把内部的领域对象与外界隔离。
  • 装配(Assembler): 实现DTO与领域对象之间的相互转换,数据交换,因此Assembler几乎总是同DTO一起出现。
  • 表面,门面(Facade): Façade的用意在于为远程客户端提供粗粒度的调用接口
  • 它的主要工作就是将一个用户请求委派给一个或多个Service进行处理,也就是我们常说的Controller。

文末

欢迎关注个人微信公众号:Coder编程

欢迎关注Coder编程公众号,主要分享数据结构与算法、Java相关知识体系、框架知识及原理、Spring全家桶、微服务项目实战、DevOps实践之路、每日一篇互联网大厂面试或笔试题以及PMP项目管理知识等。更多精彩内容正在路上~
也分享一些杂文~

文章收录至
Github: https://github.com/CoderMerlin/coder-programming
Gitee: https://gitee.com/573059382/coder-programming
欢迎关注并star~

微信公众号

dd

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容