看过DDD后的一切感悟.

    开始看到DDD有些莫名,相信大家看到的第一感觉也是一样的.首先介绍下什么叫DDD,DDD英文全称为:Domain Driven Design,即领域驱动设计.
    软件开发是为了解决现实问题,把一个显示问题自动化.但在开发前一定要明白软件是脱胎于领域的,与领域密切相关.
    要想设计出一个好的软件,首先得了解其软件是干什么的,能干什么不能干什么,也即差不多是所谓的需求分析,不能直接就将软件看着是简单的对象或者方法.要从业务上去了解软件的运作流程和使用环境,与领域专家讨论..通过通用语言来展示,来沟通,也就是说避免他生僻的专业术语,使用双方都能够理解的通用语言.进行讨论,模型化.

模型驱动设计得基本构成要素:
(哎!本来是想把模式与模式间的关系总图和分层结构图贴上来的,无奈啊,插入图片竟然不给面子,插入图片大小限制提示后就不给偶插了..)
    一个通用领域驱动设计的架构性解决方案包括4个概念层:
用户界面/展现层:负责用户展现信心以及解释用户命令;
应用层:很薄得一层,用来协调应用得活动.它不包括业务逻辑,不保留业务对象的状态,但保存应用任务的进度状态;
领域层:本层包括关于领域的信息.这是业务软件的核心所在.在这里保留业务对象的状态,对业务对象和它们状态持久化被委托给了基础设施层;
基础设施层:本层作为其它层的支撑库存在.他提供了层间的通信,实现对业务对象的持久化,包含对用户界面层的支撑库等作用.