《领域驱动设计 C# 2008 实现》 - 书摘精要

(P2) 智能客户反模式被 Eric Evans 定义为“把所有业务逻辑放进用户界面。把系统分解成小函数,作为分离的用户界面实现,并在里面嵌入业务规则。使用关系数据库作为共享的数据仓储。使用现有的自动化程序最高的UI构建技术和可视化编程工具”;

(P6) 分层架构的主要原则是一个层的元素之只依赖于同一层的其他元素,或者下层的元素;

(P7) 领域层包含业务模型,领域逻辑不会分散到其它层,这两点在领域驱动设计中是绝对关键的;

(P8) 智能客户是一类应用,结合了 Windows 应用和 Web 应用的优点;

(P12)

应用层的类的方法大多数是静态方法,这样容易让表示层的类使用;

应用层也用于 Web 服务方法调用,以获取或保存数据;

应用层协调领域对象和基础设施对象之间的动作;

(P13)

值对象通常只包含数据或者只包含行为;

值对象最好是不可变的;

服务类没有内部状态,可以简单地作为一个提供操作的接口实现;

放在应用层的服务通常协调放在其他层的其他服务的工作;

(P14)

每个聚合只能有一个根对象,这个对象是一个实体对象;

聚合根可以引用其他聚合根,聚合内的对象可以引用聚合内的另一个对象,但是聚合边界外部的任何对象不能绕过聚合根对象访问聚合内的对象;

(P20) 仓储应该模拟内存中的对象集合;

(P27) 在领域驱动设计架构中,仓储使用得十分频繁;

(P44)

视图模型存在的目的是把模型适配到视图;

视图模型为视图需要绑定的部分数据提供公有属性;

视图模型可以用于保存视图的状态,以及视图需要的任何命令;

(P56)

每个聚合根获取它自己的仓储;

如果一个类被确定为一个聚合的实体根,就为这个类设计仓储;

(P187) StackPanel 元素允许多个元素组合在一起;

(P206) 重构的第一步是把每一个共同点放进一个接口;

你可能感兴趣的:(2008)