第1章 成功應用程式的模式
簡約原則(KISS)的目標就是讓代碼保持簡潔,避免引入任何不必要的複雜度。
講述而不要詢問(Tell, Don't Ask)原則
第2章 剖析模式的模式
GoF設計模式屬於以下分組之一:建立型、結構型及行為型。建立型設計模式處理構造對象的責任,結構型設計模式關注讓對象工作在一起以產生新的功能,行為型設計模式則關注演算法和通訊。
第4章 商務邏輯層:組織
領域驅動設計中的值對象
值對象通常並不會單獨存在,它們通常是(但並非總是)實體的屬性。
下面是一個簡單的部落格系統用ORM的sample,它用Castle.ActiveRecord封裝了NHibernate,使用起來還是蠻方便的,適合用在不太複雜的業務情境
ActiveRecord
下面是一個Domain Model的sample
ASPPatterns.Chap4.DomainModel.Model 這裡只關注業務
持久化由ASPPatterns.Chap4.DomainModel.Repository來實現
ASPPatterns.Chap4.DomainModel.AppService隔離app和domain model的聯絡,並起到協調的作用
DomainModel
第5章 商務邏輯層:模式
Specification(規格)模式用於把布爾演算法中的商務邏輯封裝到業務實體之外。
Composite(組合)模式可以將一組對象當成一個對象執行個體。
在Composite模式中,可以把對象動態地組合成樹狀或階層集合并加以使用,這裡的關鍵是它們之間有行為鏈。
下例把Specification(規格)模式和Composite(組合)模式巧合地連結在一起:
Sample
裡氏替換原則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#語言編寫的模板引擎。
小結
書基本讀完,不再更新。