第1章 成功应用程序的模式
简约原则(KISS)的目标就是让代码保持简洁,避免引入任何不必要的复杂度。
讲述而不要询问(Tell, Don't Ask)原则
第2章 剖析模式的模式
GoF设计模式属于以下分组之一:创建型、结构型及行为型。创建型设计模式处理构造对象的责任,结构型设计模式关注让对象工作在一起以产生新的功能,行为型设计模式则关注算法和通信。
第4章 业务逻辑层:组织
领域驱动设计中的值对象
值对象通常并不会单独存在,它们通常是(但并非总是)实体的属性。
下面是一个简单的博客系统用ORM的sample,它用Castle.ActiveRecord封装了NHibernate,使用起来还是蛮方便的,适合用在不太复杂的业务场景
下面是一个Domain Model的sample
ASPPatterns.Chap4.DomainModel.Model 这里只关注业务
持久化由ASPPatterns.Chap4.DomainModel.Repository来实现
ASPPatterns.Chap4.DomainModel.AppService隔离app和domain model的联系,并起到协调的作用
第5章 业务逻辑层:模式
Specification(规格)模式用于把布尔算法中的业务逻辑封装到业务实体之外。
Composite(组合)模式可以将一组对象当成一个对象实例。
在Composite模式中,可以把对象动态地组合成树状或层次结构集合并加以使用,这里的关键是它们之间有行为链。
下例把Specification(规格)模式和Composite(组合)模式巧合地链接在一起:
里氏替换原则LSP规定子类必须与它们的基类具有相同的行为。
子类型必须可以替换成它们的基类型,这意味着子类型的行为必须符合基类型的预期行为。
本章小结:
第7章 数据访问层
Unit of Work模式可以用来处理多个Repository,因为有些事务将跨越多个Repository。
第8章 表示层
有许多可用的开源IoC容器,比如Castle Windsor、Spring.Net、Ninject和PicoContainer.NET以及微软的Unity,还有Jeremy D. Miller的StructureMap。
领域实体到ViewModel的映射是单调地将对象映射到对象的乏味工作,AutoMapper可以帮你做 https://github.com/AutoMapper/AutoMapper
Castle MonoRail是一个构建在ASP.NET平台之上并借鉴Ruby的Rails框架的开源Web应用程序框架。
NVelocity是一种针对.NET平台采用C#语言编写的模板引擎。
小结
书基本读完,不再更新。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ASP.NET 设计模式 – 读书笔记 - Python技术站