前面幾篇已經把廢話基本說完了,如今準備進入實戰階段。html
第一步是把開發環境準備好,下面是本系列所使用的開發工具及其版本。爲了不你沒法順利打開本系列提供的下載示例,建議你最好跟我使用的版本相同。數據庫
- Visual Studio 2013
- ReSharpe 最新版本,目前版本是8.2.2
ReSharpe是一個VS上面的插件,它不是必須的,但它可以大幅提高你的編碼速度和代碼質量,特別是採用了像DDD這樣的架構,整個系統包含大量的Interface,你須要在接口和多個實現之間來回跳轉,VS在這方面缺少支持,可使用ReSharpe來彌補這個空缺。編程
一個例外是你的電腦運行速度很是慢,這種狀況下建議不要安裝,否則你會徹底動不了。設計模式
NestIn也是VS上的一個插件,主要用來把兩個文件嵌套在一塊兒,在某些狀況下須要使用。架構
CodeSmith是一個模板生成器,用來進行自定義代碼生成。app
- Sql Server 2012( 2008也行 )
- PowerDesigner 16.5
PowerDesigner是建模首選工具,不只能夠進行數據建模,還能進行流程圖、類圖、序列圖等UML設計。框架
XMind是一個思惟導圖工具,能夠用它進行一些分析工做。工具
以上包含了所須要的開發工具,請你自行下載安裝,大部分工具都要收費,不過做爲中國人,一個優點是能夠採用綠色版本,不用我說你們也知道怎麼作了。在安裝過程當中遇到問題,能夠提問,我儘可能抽時間給你解決。單元測試
除了開發工具之外,開發應用程序框架須要必定的抽象和封裝能力,下面我把一些應該具有的基礎知識列舉以下,並推薦一些經典圖書,爲避免書有同名,我將做者也一併列出。學習
畢竟你們在使用面嚮對象語言,無論你是否使用DDD這樣的面向對象架構,都須要掌握一些基本知識,好比封裝、繼承、多態、接口、抽象類、抽象方法、虛方法等等。
推薦圖書:
- UML和模式應用(做者:Craig Larman,這本書是我最喜歡的面向對象著做,從這本書我瞭解了對象的特徵和使用要點)
- 面向對象分析與設計 (做者:Grady Booch,做者是UML開山祖師之一,這是他的表明做)
本系列採用DDD架構進行演示,你們須要對一些經常使用的架構模式有所瞭解。
推薦圖書:
- 企業應用架構模式(做者:Martin Fowler,這本是架構模式的奠定之做,如今出來的架構模式名詞,大半是從這本書出來的。Martin Fowler多是敏捷導師裏面名氣最大的一位)
- 領域驅動設計(做者:Eric Evans,這本書出來之後,就一直是面向對象開發的標杆,是領域模型的標準用法)
- 敏捷軟件開發-原則、模式與實戰(做者:Robert C.Martin,這本也是架構模式方面的頂尖之做,特別是描述了五大架構原則SOLID)
- C#企業應用開發藝術-CSLA.NET框架開發實戰(做者:Rockford Lhotka,這本是.Net應用程序框架方面能找到的幾乎惟一一本從理論到實戰系統講述的著做)
- 實現領域驅動設計(做者:Vaughn Vernon,這本書新出來不久,內容很是豐富,是對原始DDD的一次昇華)
- 領域驅動設計與模式實戰(做者:Jimmy Nilsson,做者算是本身人,也是搞.Net開發的,這很是可貴,.Net方面DDD的著做不多,在書中描述了他從以數據庫爲中心的設計,向以對象爲中心的設計轉變)
- Microsoft.Net企業級應用架構設計(做者:Dino Esposito,這本也是.Netl架構設計的一本好書,特別是他們在附錄提供了一個Demo-NSK,能夠參考)
- 領域驅動設計 C# 2008實現(做者:Tim McCarthy,這本是徹底以實戰爲主,爲如何建立DDD層超類型提供了一些代碼參考,另外還對一些設計和開發中棘手的問題提供了一些解決方案)
推薦博客:
- http://www.cnblogs.com/daxnet/archive/2010/11/02/1867392.html,陳晴陽老兄的DDD系列是我見過寫得最好的,在此強烈推薦。
- http://www.cnblogs.com/happyframework/category/448744.html,這位老兄不知道叫什麼名字,他這個DDD系列也頗有學習價值,特別是解決了我以前遇到的刪除聚合中子對象數據庫記錄的問題。另外他還開源了一個應用程序框架,叫幸福框架,很值得參考。
對代碼進行抽象,通常須要創建一些靈活性,瞭解一些經常使用設計模式是必須的。
推薦圖書:
- Head First設計模式(做者:Eric Freeman,這本淺顯易懂,設計模式入門必看)
- 設計模式(做者:Erich Gamma,這本就是設計模式奠定之做,不過示例都是C++寫的,至關枯燥難懂,能夠做爲提升之用)
使用TDD進行開發不是必須的,但若是想得到更高的代碼質量和健壯性,這個就很是必要,我會在後面的框架實戰中採用TDD方式進行演示。
推薦圖書:
- 測試驅動開發的藝術(做者:Lasse Koskela,這本用來入門)
- 測試驅動開發(做者:Kent Beck,Kent Beck是極限編程創始人,這是他在TDD方面的開山之做)
- .Net單元測試藝術(做者:Roy Osherove,這本是單元測試方面最實用的一本)
- XUnit測試模式-測試碼重構(做者:Gerard Meszaros,這本提供了大量在實際工做中進行單元測試碰到問題時的解決方案)
- 重構-改善既有代碼的設計(做者:Martin Fowler,重構方面的權威著做,幫助你清除代碼壞習慣)
- 實現模式(做者:Kent Beck,在本書中,極限編程大師演示了大量能夠改善代碼質量的小技巧)
- 代碼整潔之道-Clean Code(做者:Robert C.Martin,這是Bob大叔在重構方面的著做)
- 重構與模式(做者:Joshua Kerievsky,這本書介紹了使用設計模式更正確的方式-經過重構演化出模式,而不是預先進行大量擴展點設計,這樣能夠得到更簡單的系統)
上面列舉了一些經典的設計圖書,供但願在.Net開發中有所提高的朋友參考。固然,並非說你須要把這些書所有看完才能夠開始建立你的應用程序框架,而是給你指出一個努力的方向,不少設計問題在看了大師的著做以後會茅塞頓開。
另外,這些書不是小說,你不能期望看一遍就所有搞懂,不少書須要一遍遍的看。哪怕你感受好像理解了,但卻用不起來,若是隻在看書的時候懂,搞開發的時候連個影子也想不起來,那還有個屁用。常常看,把一些名詞先混個眼熟,而後慢慢在項目上實踐,一些經常使用的模式仍是容易搞懂,有些比較生僻的沒有用上也不要緊,這多是項目不夠複雜。
.Net應用程序框架交流QQ羣: 386092459,歡迎有興趣的朋友加入討論。
謝謝你們的持續關注,個人博客地址:http://www.cnblogs.com/xiadao521/