原文:應用程序框架實戰二十一:DDD分層架構之倉儲(介紹篇)

前面已經介紹過Entity Framework的工作單元和映射層超類型的封裝,從本文開始,將逐步介紹倉儲以及對查詢的擴展支持。 什么是倉儲 倉儲表示聚合的集合。 倉儲所表現出來的集合外觀,僅僅是一種模擬,除了測試以外,沒有理由使用內存中真正的集合來創建倉儲。 不應該為所有實體建立倉儲,只有聚合才擁有倉儲。 倉儲用來重建已持久化的聚合,而工廠用於新建聚合。 使用倉儲的優點 直接使用Entity F ...

2014-12-12 11:59 34 5095 推薦指數:

查看詳情

應用程序框架實戰二十二 : DDD分層架構倉儲(層超類型基礎

  前一介紹倉儲的基本概念,並談了我對倉儲的一些認識,本文將實現倉儲的基本功能。   倉儲代表聚合在內存中的集合,所以倉儲的接口需要模擬得像一個集合。倉儲中有很多操作都是可以通用的,可以把這部分操作抽取到基類中。   在Util.Domains項目中創建一個文件夾Repositories ...

Thu Dec 18 01:00:00 CST 2014 12 5108
應用程序框架實戰十六:DDD分層架構之值對象(介紹

  前面介紹DDD分層架構的實體,並完成了實體層超類型的開發,同時提供了驗證方面的支持。本篇將介紹另一個重要的構造塊——值對象,它是聚合中的主要成分。   如果說你已經在使用DDD分層架構,但你卻從來沒有使用過值對象,這毫不奇怪,因為多年來養成的數據建模思維已經牢牢把你禁錮,以致於你在使用 ...

Wed Nov 26 04:26:00 CST 2014 33 7031
應用程序框架實戰十四:DDD分層架構之領域實體(基礎

  上一,我介紹了自己在DDD分層架構方面的一些感想,本文開始介紹領域層的實體,代碼主要參考自《領域驅動設計C#2008實現》,另外參考了網上找到的一些示例代碼。 什么是實體   由標識來區分的對象稱為實體。   實體的定義隱藏了幾個信息: 兩個實體對象,只要它們的標識屬性值相等 ...

Tue Nov 18 02:54:00 CST 2014 17 8415
應用程序框架實戰十五:DDD分層架構之領域實體(驗證

  在應用程序框架實戰十四:DDD分層架構之領域實體(基礎)一文中,我介紹了領域實體的基礎,包括標識、相等性比較、輸出實體狀態等。本文將介紹領域實體的一個核心內容——驗證,它是應用程序健壯性的基石。為了完成領域實體的驗證,我們在前面已經准備好了驗證公共操作類和異常公共操作類。   .Net提供 ...

Fri Nov 21 07:43:00 CST 2014 25 8058
應用程序框架實戰十七:DDD分層架構之值對象(層超類型

  上一介紹了值對象的基本概念,得到了一些朋友的支持,另外也有一些朋友提出了不同意見。這其實是很自然的事情,設計本來就充滿了各種可能性,沒有絕對正確的做法,只有更好的實踐。但是設計與實踐的好與壞,對於不同的人,以及處於不同的環境都有不同的詮釋,這是一個仁者見仁,智者見智的問題。DDD非常抽象 ...

Fri Nov 28 03:33:00 CST 2014 5 4657
應用程序框架實戰十八:DDD分層架構之聚合

  前面已經介紹DDD分層架構的實體和值對象,本文將介紹聚合以及與其高度相關的並發主題。   我在之前已經說過,初學者第一步需要將業務邏輯盡量放到實體或值對象中,給實體“充血”,這樣可以讓業務邏輯高度內聚,並為你提供業務邏輯的唯一訪問點。而聚合則是第二步,它將多個相關業務概念包裝到單一的概念中 ...

Thu Dec 04 12:10:00 CST 2014 26 7816
應用程序框架實戰十三:DDD分層架構之我見

  前面介紹應用程序框架的一個重要組成部分——公共操作類,並提供了一個數據類型轉換公共操作類作為示例進行演示。下面准備介紹應用程序框架的另一個重要組成部分,即體系架構支持。你不一定要使用DDD這樣的架構,使用單層架構和普通三層架構一樣可以,不過你如果希望獲得更進一步的復用性和封裝度,使用 ...

Sat Nov 15 04:25:00 CST 2014 32 11157
應用程序框架(一):DDD分層架構:領域實體(基礎

  一、什么是實體   由標識來區分的對象稱為實體。   實體的定義隱藏了幾個信息: 兩個實體對象,只要它們的標識屬性值相等,哪怕標識屬性以外的所有屬性值都不相等,這兩個對象也認為是同一個 ...

Thu Mar 01 22:03:00 CST 2018 0 1306
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM