ASP.NET 設計模式 – 讀書筆記

來源:互聯網
上載者:User

第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#語言編寫的模板引擎。

 

小結

 

書基本讀完,不再更新。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.