OSChina 第42期高手问答:DDD 领域驱动开发

红薯 发布于 2013/11/06 16:53
阅读 7K+
收藏 25

领域模型使开发人员可以表达丰富的软件功能需求,由此实现的软件可以满足用户真正的需要,因此被公认为是软件设计的关键所在,其重要性显而易见。

OSCHINA 本期高手问答(11月6日-11月12日)我们请来了 DDDLib 的作者  为大家解答关于领域驱动开发方面的问题。

@秋水逍遥 (真名:杨宇),长于业务分析和领域建模,对OO和DDD有较为深入的研究。擅长测试驱动开发、自动化构建、持续集成和质量度量。创建了开源项目DDDLib,以推广DDD开发范式

OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家就领域驱动开发方面的问题向 @秋水逍遥 提问,请直接回帖提问。
加载中
2
mallon
mallon
@秋水逍遥 :DDD比传统SQL查询方式简单在哪里?
秋水逍遥
秋水逍遥
DDD不是比传统SQL方式简单,而是强调业务和技术的分离。领域层实现“企业业务规则”,应用层实现“应用业务规则”,而基础设施层和表示层纯粹是技术关注点。相对于易变的技术而言,业务是较为稳定不变的;所以我们可以轻松重用业务逻辑层尤其是领域层。
0
wharf_zhang
wharf_zhang
请问DLD与DDD是什么关系?前者是否为后者的基础。谢谢!
0
秋水逍遥
秋水逍遥
@秋水逍遥 :恕我孤陋寡闻,我不知道什么是DLD。是数字生活设计Digital Life Design的缩写么?
0
wharf_zhang
wharf_zhang
@秋水逍遥 :不好意思,我是指领域语言开发。抱歉。
0
把妹达人老张
把妹达人老张
@秋水逍遥 : 给一个小的demo吧。DO 我怎么都 搞不太懂。
0
wharf_zhang
wharf_zhang
我看网上资料,说“通过领域特定语言可以有效提高开发人员的生产力,增进与领域专家的有效沟通”。又有资料介绍领域模型时说“要与领域专家沟通”。二者都涉及到“领域专家”。我不知道二者之间有什么关系,所以请教下。如果问错了,请勿介意,只当多个人来围观。
0
秋水逍遥
秋水逍遥
@秋水逍遥 :首先道个歉。今天晚上我有培训任务,所以没能及时回复。应该说,DDD和DSL都是基于问题域而不是解决方案域的。DDD以领域建模为中心活动,发现问题域即业务领域中的概念和机制,建立领域模型,代表对问题域的理解,而后以领域模型为中心构建软件解决方案;而DSL是领域特定语言,期望能够采用问题域的语言和词汇来构建软件解决方案(通过解析器等转变为技术手段)。两者都是希望能够贴近业务,远离技术,因此,其是否正确、能否成功,端赖领域专家的协助和验证。从上面的分析看来,DDD是基础,只有通过DDD建立了正确的领域模型,才能在此基础上实现DSL。
秋水逍遥
秋水逍遥
回复 @wharf_zhang : DSL也是我关注的范畴。我认为DSL以领域模型为基础,与DDD的思想是一致的。
wharf_zhang
wharf_zhang
非常感谢你的解答。同时我也再次为我未能准确表达自己的问题表示抱歉。我比较关注dsl开发,以后也会增加关注ddd。谢谢指导。
0
秋水逍遥
秋水逍遥

引用来自“张子游”的答案

@秋水逍遥 : 给一个小的demo吧。DO 我怎么都 搞不太懂。

不知道你需要什么demo?我的一个ddd开发的例子,下载地址是https://github.com/dayatang/hrm-demo

0
缪斯的情人
缪斯的情人
@秋水逍遥 :DDD和充血模型设计啥关系
0
开源中国首席鉴定大湿
开源中国首席鉴定大湿
额!貌似这个开发模式很高端的样子!各种看不懂
开源中国首席鉴定大湿
开源中国首席鉴定大湿
@秋水逍遥 额~可能是我没有接触过吧!起码DDD的解释我都看起来迷迷糊糊的
秋水逍遥
秋水逍遥
不会吧?有什么高端?很平常啊
返回顶部
顶部