`
guanpanpan
  • 浏览: 15945 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

领域驱动设计及分层

阅读更多
•需求:软件的价值-领域部分,和技术无关
•设计:减少成本
•领域建模:贯通需求和设计,突出领域模型,让领域的复杂度和代码的复杂度相匹配
•抽象:并不是象现实世界,而是对现实世界中根据我们要解决的问题进行的抽象建模,比如房子根据我们关注点不同可以抽象成门窗户等构成,但也可以抽象成水泥,钢筋等构成的。
界面层
应用逻辑层
领域层(实体,值对象,服务)
基础设施层

是允许再加层的,比如要向其它系统提供远程服务。可以在应用逻辑上层,加入一个门面或外观,然后再加一层WebService层。如果改天改用ICE直接再在外观上层加个ICE层就好。

领域逻辑的实现:

比如我们的公司,我们每个人是个实体,我们不仅仅有属性,更重要的我们还是在做事情的,比如编码。所以实体一个很大的功能就是要有服务,但有些服务需要几个实体协作来完成,这时放在哪个实体里都水太合适,这时就做成服务。

基础设施层的repository:可以理解为如果我们到银行办个业务,就要有相应的业务实体来为我们服务,repository就是为我们寻找服务实体的导航员。但记住我们只能找到聚合的根,比如我要借一个人的钱,那我不能直接和他的钱打叫道,要先给钱的主人(聚合根)打交道。

领域逻辑的实现方法:按Martin Folwler的分法,分为事务脚本,表模块和领域模型。

 

大家用的比较多的其它分层

Action
Service
Dao
Model

 

评:应该是最常用的一个了,很方便时行项目管理。一般model层会做成vo(值对象),业务全由服务层来做。还有一个小变种,就是把service再划分为应用服务和领域服务。

       还有一种情况是为事务再加入一层,现在都是声明式事务了,可以做到业务逻辑和具体的数据库代码解耦,已经不再需要。

 

 

 

分享到:
评论

相关推荐

    领域驱动设计(DDD):分层架构

    在应用系统开发中,采用严格的、单一的、真正的的分层架构是可以的,但实际上我们已经采用了多种架构模式设计系统。当多种不同范式的架构混合在一起,你会不会出现“指鹿为马”的现象呢? 在研究分层架构时,常通过...

    DDD领域驱动设计和中台实践资料合集25篇.zip

    DDD实战,领域驱动设计 DDD在旅游电商架构演进中的实践 Every Entity as A Microservice - 领域驱动设计DDD 分享我对领域驱动设计(DDD)的学习成果 化繁为简--DDD驱动复杂业务软件架构的演进 基于DDD的领域建模中的...

    最新领域驱动设计(DDD)资料合集(23份).zip

    最新领域驱动设计(DDD)资料合集,共23份。 金融支付系统的改造之路 化繁为简--DDD驱动复杂业务软件架构的演进 基于DDD的领域建模中的模版和工具实践 基于FP的DDD实践 架构分层模型适配 可视化的遗留系统微服务...

    领域驱动设计C# 2008实现问题.设计.解决方案

    第2章 设计分层架构 2.1 问题 .2.2 设计 2.2.1 设计visual studio解决方案 2.2.2 设计基础设施层 2.3 解决方案 2.3.1 实现visual studio解决方案 2.3.2 实现架构层 2.4 总结 第3章 管理项目 3.1 问题 ...

    领域驱动设计第二分卷

    3.1 模型驱动设计 33 3.2 建模范型和工具支持 36 3.3 突出主旨:为什么模型对用户很关键 41 3.4 实践型建模人员 43 .第ⅱ部分 模型驱动设计的构建块 第4章 分离领域 47 4.1 分层架构 47 4.1.1 层间的联系 51...

    DDD 领域驱动设计 架构(分层六边形RESTful).docx

    DDD 领域驱动设计 架构(分层六边形RESTful).docx

    携程去哪网DDD领域驱动设计实战开发落地分享视频教程

    视频详细讲解,需要的小伙伴自行网盘下载,链接见附件,...大白话讲解领域驱动设计的晦涩词汇,手把手学习战略设计和战术设计,并配合实际项目进行开发落地实战,包括四层架构、洋葱架构、六边形架构、整洁架构等讲解。

    领域驱动设计与模式实战

    1.3.2 领域驱动设计 1.3.3 测试驱动开发 1.3.4 重构 1.3.5 选择一种还是选择组合 1.4 持续集成 1.4.1 解决方案(或至少是正确方向上的一大步) 1.4.2 从我的组织汲取的教训 1.4.3 更多信息 1.5 不要忘记运行机制 ...

    领域驱动设计和实践.docx

    为了解决这样的问题,领域驱动设计提出了清晰的分层架构和领域对象的概念,让面向对象的分析和设计进入了一个新的阶段,对企业级软件开发起到了巨大的推动作用。 本文主要介绍了领域驱动设计的基本概念、要素、特点...

    [源代码] 《领域驱动设计 (C# 2008 实现)》 随书源代码

    [书名] 领域驱动设计 (C# 2008 实现) [著者] Tim McCarthy [译者] UMLChina ☆ 章节清单:☆ 第02章 —— 设计分层架构 第03章 —— 管理项目 第04章 —— 公司和联系人 第05章 —— 递交传送 第06章 —— ...

    DDD领域驱动设计批评-幻灯片合集(二)共183页

    *领域驱动设计伪创新:通用语言 *被严重污染的领域专家 *不要把学习体会当成创新 *“以炮换马”的DDD歪招是否可以作为起步 *软件开发废话赏析02:领域驱动设计的“愿景” *领域驱动设计伪创新:六边形架构算吗 *分层...

    DDD实战,领域驱动设计.xmind

    领域驱动设计详解,知识脑图。详解了DDD的知识结构分析,从基础概念领域、实体、值对象、聚合、聚合上下文,领域分层架构,以及DDD与微服务的关系、实际设计原理及方法。

    领域驱动设计第一分卷

    3.1 模型驱动设计 33 3.2 建模范型和工具支持 36 3.3 突出主旨:为什么模型对用户很关键 41 3.4 实践型建模人员 43 .第ⅱ部分 模型驱动设计的构建块 第4章 分离领域 47 4.1 分层架构 47 4.1.1 层间的联系 51...

    领域驱动设计中面向经典分层架构的领域事件的设计与实现

    在本文中,首先让我们一起了解一下ByteartRetail案例中领域事件的实现有哪些弊端,然后再对领域驱动设计中领域事件的设计与实现进行讨论。由于文中有不少地方都是出自ByteartRetail案例,因此,本文仍然可以看成是...

    领域驱动总结 课件

    实际开发中,大量的业务逻辑堆积在一个巨型类中的例子屡见不鲜,代码的复用性和扩展性无法得到保证。为了解决这样的问题,领域驱动设计提出了清晰的分层架构。

    【推荐】DDD领域驱动设计&中台实践资料合集(20份).zip

    DDD领域驱动设计&中台实践资料合集,共20份。 DDD促进传统架构微服务转型 化繁为简--DDD驱动复杂业务软件架构的演进 基于FP的DDD实践 基于DDD的领域建模中的模版和工具实践 架构分层模型适配 金融支付系统的改造之...

    DDD领域驱动设计&中台实践资料合集(20份).zip

    DDD领域驱动设计&中台实践资料(20份): DDD促进传统架构微服务转型(42页).pdf DDD在旅游电商架构演进中的实践(47页).pdf DDD实践中的那些坑(28页).pdf DDD的为与不为(25页).pdf Every Entity as A ...

    领域驱动设计实践——架构风格及架构实例

    本文来自博客园,本文针对DDD的架构设计,通过架构实例,实现了领域驱动设计。DDD为复杂软件的设计提供了指导思想,其将易发生变化...遵循分层架构模式针对DDD的架构设计,《实现领域驱动设计》提到了几种架构风格:六

    领域驱动设计和实践

    软件系统面向对象的设计思想可谓历史悠久,20世纪70年代的Smalltalk可以说是面向对象语言的经典,直到今天我们依然将这门语言视为面向对象语言的...为了解决这样的问题,领域驱动设计提出了清晰的分层架构和领域对象的

    如何设计架构-分层和组织领域模型

    如何设计架构-分层和组织领域模型 层(layer)这个概念在计算机领域是非常了不得的一个概念。计算机本身就体现了一种层的概念:系统调用层、设备驱动层、操作系统层、CPU指令集。每个层都负责自己的职责。 要组织...

Global site tag (gtag.js) - Google Analytics