【领域驱动设计】.NET实践:前言
从本文开始,将会有一系列的文章介绍领域驱动设计在.NET中的实践,并探讨在.NET环境中实践领域驱动设计的最佳操作。领域驱动设计是一种新兴的软件设计思想,它不是理论,不是圣经,而是前辈多年来实践经验的总结。与模型驱动相比,领域驱动更关注领域,在架构大型软件系统方面,领域驱动设计更具有指导意义。
Eric Evans在他所写的《领域驱动设计:软件核心复杂性应对之道》一书中,详细地介绍了与领域驱动设计相关的概念与实践经验。书中内容均为作者在其多年大型系统架构和开发过程中的经验总结,因此他没有用“为了达到什么什么目的,我们应该怎么怎么样”这样的语气去决定一件事情。
目前互联网上有关领域驱动设计的资源也有很多,下面罗列了一些比较好的资源链接:
- 领域驱动设计官方网站:http://www.domaindrivendesign.org
- J道:Java企业软件解决之道(彭晨阳先生的网站,论坛部分有较多讨论领域驱动设计的内容):http://www.jdon.com
- 领域驱动设计官方论坛:http://groups.yahoo.com/group/domaindrivendesign
- 领域驱动设计精简版电子书:www.infoq.com/minibooks/domain-driven-design-quickly
- Domain Driven Design and Development In Practice:www.infoq.com/articles/ddd-in-practice
- Domain Driven Design - Managing the object lifecycle:www.goeleven.com/blog/entryDetail.aspx
由于在.NET环境中应用领域驱动设计的实践经验的相关介绍比较少,因此本系列文章将逐渐讨论与.NET相关的软件设计实践话题,当我们在做设计的时候,会或多或少的存在一些疑问,这些疑问可能是理论性的,也可能是与.NET相关的,可能是领域驱动设计方面的,也有可能是其它思维形态方面的,我也会尽量在本系列文章中对这些问题展开讨论。因此,或许你会看到,在某些篇幅中,领域驱动设计的内容不会太多。文章不会再对领域驱动设计的具体概念细节做重复介绍,请对领域驱动设计不了解的朋友,先通过上面提供的链接对领域驱动设计的基本概念做一些了解。
最后说明一下,软件设计应需而变,没有对与错,只有合理不合理,本系列文章也是我的一些正式或非正式的经验总结,自然会有很多不足的地方,这还得请前辈们海涵为是。我很希望我所写的这些内容能够帮助到更多的人。为了描述方便,在后续的文章中,“领域驱动设计(Domain Driven Design)”一词将以"DDD"代替。