《领域驱动设计精简版》读书一

 

DDD为什么重要?

1、软件的本质是什么

软件的最终目的是增进一个特定的领域。为达到这个目的,软件需要和它服务的领域和谐相处。为此,软件要成为领域的映射。软件需要具现领域内重要的核心概念和元素,并精确实现他们的关系。软件需要对领域进行建模。

未加工的领域知识难以加工成软件构造,除非建立一个抽象,经过不断的努力我们会让抽象越来越清晰,这个抽象就是领域模型。领域模型不是领域专家头脑里面的知识,而是一个经过严格组织并能经过选择性抽象的知识。

我们需要通过模型来交流,为此1模型图形化,2模型语言化

2、如何做软件设计

软件设计和代码设计不一样的,前者类似构建房子的架构,后者类似在墙上定位油画

瀑布开发,业务专家将需求传递给业务分析人员,业务分析人员基于需求来建模,并传递给开发人员,开发人员由此进行编码,知识是单向的。业务专家得不到业务分析人员的反馈,业务分析人员也得不到开发人员反馈。

敏捷开发,预先很难确定所有需求,要先预先创建一个覆盖所有需求的模型很难,敏捷开发反对预先设计,通过业务涉众持续参与迭代开发和重构,开发团队更多的学习客户的领域知识,从而产出客户所需的软件。问题是害怕做深度、彻底的设计。

领域驱动设计结合了设计和开发实践,协同工作创造出一个更好的解决方案。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容