从头开始实现领域驱动设计

日期: 2013-11-04 来源:TechTarget中国 英文

领域描述业务;它是驱动企业的概念和逻辑的集合。如果遵循领域驱动设计(DDD)这一本质,那么领域就是应用程序中最重要的组成部分。Andras Nemes,一个在.NET平台上开发Web应用的瑞典开发人员,发表了10篇博客介绍如何基于领域驱动设计的原则在.NET平台上构建Web服务,在这个系列的第一篇他就给出了这番解释。

在技术驱动的方式中,很容易出现技术选择影响领域的情况。而在DDD中不会,领域是应用程序中最重要的组成部分,技术是实现细节,而实现可能会变。并且事情应该就是这样,Andras相信,领域是响应业务需求的独立实体,并且领域中的变化可能会影响技术的选择。

Andras 明确指出他的目的不是覆盖DDD的方方面面和所有细节,他这里指的是Eric Evans写的那本DDD书 。他只是想为.NET方案构建一个骨架,提炼出DDD中最重要的思想,给基于DDD的项目提供一个基础。他希望即便刚刚接触DDD的开发人员也能从中受益,因此所有用到的关键概念他都给出了解释。

他的目标是一个包含如下这些层次的解决方案:

基础设施层:在基础设施服务中解决交叉问题。

存储层:数据访问及持久化技术层。

领域层:领域层有业务实体和业务逻辑,是应用程序的中心。

应用服务层:提供对消费者的响应动作

Web层:应用程序的消费者

作为他穿越DDD之旅的开始,Andras解释了DDD中一些主要的战术性概念,比如实体、值对象和聚合,同时给出了一些使用指南。然后在他的系列博客中逐一介绍如何构建最终构成整个程序的各层。Andras最后总结到DDD已经帮他减轻了比较传统的层次化解决方案中常见的紧耦合性,领域层现在是程序的中心了。他还想办法把受技术影响最大的存储层隐藏了起来,放在了一个可以替换的抽象层后面。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • SAP收购CallidusCloud 与Salesforce竞争

    一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]

  • 领域驱动设计实现之路

    在DDD中,代码就是设计本身,你不再需要那些繁文缛节的并且永远也无法得到实时更新的设计文档。编码者与领域专家再也不需要翻译才能理解对方所表达的意思。

  • API设计如龙生九子 各不相同

    IT咨询管理公司CA Technologies对API产业做了个问卷调查,问卷内容涉及API设计风格以及管理部署的新动向。调查结果表明,JSON与XML可谓两分天下。

  • 驱动方法不能改变任何事情

    我们期待驱动方法具有某种魔力,是因为我们喜欢框架。我们常常忘了对于我们的技能,它们只是扮演支撑角色,而不是软件专业的唯一目标。