一、数据库重构经典实践
二、软件开发面临的问题
三、企业应用开发面临的复杂性
四、认识领域,使用领域驱动设计降低复杂度
模型驱动设计的构造块
(1)分层的价值,每一层都只代表程序中某一特定方面,这种限制使每个方面的设计都更具内聚性,更容易理解。
(2)将领域层分离出来是实现Model-Driver Design的关键
(1)对象之间的关系很容易想出来,也很容易画出来,但实现他们却存在潜在的麻烦。
(2)表示模型的三种模式:Entity、Value Object、Service.
(3)捕获领域概念的对象很容易,但理解其含义很困难。
(4)一个对象是用来表示某种具有连续性和标识的事物呢(可以跟踪它所经历的不同状态,甚至可以跨不同的实现跟踪它),还是用于描述某个事物的某种状态的属性呢?— Entity与Value Object的根本区别.
(1)Factory(工厂)创建和重建复杂对象
(2)Aggregate 封装内部结构
(3)Repository 提供查找和检索持久对象