软件行业的童鞋们多多少少都听说过软件开发行业里的下面这些术语:TDD、ATDD、BDD、DDD。入行尚浅的人也许只听过 TDD,经验老道的会发现前面三个还算有关联,最后一个 DDD 乱入。
DDD (Domain Driven Design) 中文“领域驱动设计”,由 Eric Evans 在同名著作中提出,它顾名思义把Domain作为核心来驱动软件的设计。类似的也许比较常见的说法是,要有充血的领域模型(Domain Model),而不能贫血。当然DDD是有一系列实践组成的,让领域模型充血只是其中一个实践而已。本场 Chat 从 DDD 里的第一个 D(Domain)和最后一个 D(Design)入手,探讨如下问题:
- 为什么领域模型需要充血? 还裸奔?
- 具体如何实现裸奔?
- 什么是软件开发里的设计?
- 软件总拿来跟建筑比较,它们是可比的吗?
- TDD等其它DD们的来龙去脉。
我对这篇文章,以及自己所有文章的期待是:除了技术本身,我更希望从中传递我对软件开发的思考模型和价值观。技术是短暂的,价值观永存。
阅读全文: http://gitbook.cn/gitchat/activity/59328ac7b21e8329082a777a
您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。