目錄索引
簡介
在我們 【無私分享:從入門到精通ASP.NET MVC】 系列中,我們其實也是有DDD思想的,但是沒有完全的去實現,因為並不是所有的好的東西都必須要用到的,還是根據實際情況,DDD在大型的系統中是非常好的一種設計思想,這點不否認。但是根據具體情況而言,在我們小型的項目中,我們設計框架的更多考慮的是讓使用者快速、便捷的開發,能快速的了解框架進行項目開發。
重構我們的思路
最近研究了一下幾位大神的博客,特別是:@騰飛(Jesse) 的 初探領域驅動設計(1)為復雜業務而生 和 @dax.net 的 EntityFramework之領域驅動設計實踐 (一)
讓我重新認識了一下 DDD,對於這個設計思想,說實話,我還是比較陌生的,算是一個初學者,根據自己的一些理解,我對比了一下 初探領域驅動設計(1)為復雜業務而生示例代碼的調用關系:
之前的調用關系:接口實現類 繼承 倉儲 RepositoryBase<T> 實現業務操作和數據操作,進行操作的方式就是 調用接口方法 實現操作
騰飛(Jesse)初探領域驅動設計(1)為復雜業務而生 中示例代碼的調用關系:領域層 調用 倉儲 IRepository<T> 實現業務操作和數據操作,然后他的接口實現類,看上去像是 “中轉”了一下,進行操作的方式就是 調用接口方法 接口方法 再調用 領域層的方法 實現操作
這好像就是比我的多了一個“中轉層”,把我們的接口作為了一個中轉,領域層繼承了倉儲實現業務和數據操作,這有什么實際意義嗎?希望大家指正一下:
我不理解的是,如果是按照這樣,那么我如果要修改注冊方法,比如我要在上面方法中傳遞 eamil,name,password 的基礎上還需要傳遞手機號碼,那么我需要修改"三"個地方,一個是應用層的接口IUserService 的 Register 的參數,一個是應用層的實現類 UserService 的 Register 的參數,還有 領域層 的 Register 的參數和方法體;而在我之前的代碼中,只需要修改接口 IUserManage 的 Register 的參數 和 實現類 UserManage 的 Register 的參數和方法體 就可以。
希望跟大家一起學習Asp.net Core
剛開始接觸,水平有限,很多東西都是自己的理解和翻閱網上大神的資料,如果有不對的地方和不理解的地方,希望大家指正!
雖然Asp.net Core 現在很火熱,但是網上的很多資料都是前篇一律的復制,所以有很多問題我也暫時沒有解決,希望大家能共同幫助一下!
原創文章 轉載請尊重勞動成果 http://yuangang.cnblogs.com