星期三, 3月 24, 2010

Read & Study Enterprise Library

Patterns and Practices Guidance
MSDN - Patterns and Practices

因為有機會,開始研究 .Net 的程式
老實說,重頭學起,可能有點難,而且也要花點時間
所以,現在大致上是先協助做點架構設計的部份,因為畢竟研究 Design Patterns 也有一段時間了
要看懂那些花花綠綠的架構圖,還算是有點 Sense

由公司內部,之前一直有在使用的 Enterprise Library
大部份有開發 .Net 系統的人可能都應該知道這是甚麼東西
由於最近我有需要做個簡介,自己就做個紀錄吧:




Enterprise Library 現在的版本,是 4.1, October 2008 出的
這個東西,如果對應到 Java 這裡來的話,其實有點類似 Java EE 的地位
簡單來說,就是一個企業級的系統,常常用到、常常會出包、常常 Copy & Paste 的程式
MS 把他分門別類,做成了一個一個不同的 Application Block (應用區塊)
如資料存取 (Data Access Application Block - DAAB)、歷史紀錄處理 (Logging Application Block)、錯誤管理 (Exception Handling Application Block) 等等大約 9 個應用區塊

這些 Application Block,大致上都是應用了不少 Design Patterns 以及經驗,並且考慮了擴充性以及一致性,讓真的在開發應用程式的人員,可以減少很多非商業邏輯的處理

而且,應該是在 4.0 的時候,EntLibs 引進了一個在 Java 行之有年,相當熱門的一個東西
就是 IoC 的觀念,這個觀念的實作,叫作 Unity Application Block
本來是獨立的一個 Project, 後來就納入 EntLibs 中
並且 EntLibs 本身利用了 Ioc & DI 的特性,撰寫了各區塊間的 Extension
讓各個區塊原本必須要撰寫相當多程式,且藕合性很高的情況下,變成了各個區塊都可以比較容易的結合並且擴充
這個在 Java 的領域當中,有用過 Spring framework 的應該都可以理解這樣的事情

但是這個東西,比較麻煩的就是,所有的 Reference 都是在 MSDN 上面,而且沒有中文,只有英文的說明 (現在還沒找到有人去翻譯,對岸可能會有~~~)
所以,在應用上面,像是我們公司,就變成只有用到一些比較簡單的東西
比如說 Data Access, Logging, Exception Handling
而像是 Seciruty, Unity, Policy Injection 等 feature,就沒有人用到
但是其實這些東西,應用起來,是可以讓整個系統做出一個蠻漂亮的架構的
我看了幾遍的 Reference, 是有一點想法,可惜,我現在的 .Net 功力大概跟幼稚園沒兩樣
所以,有想法但是還沒有辦法實現.....有點殘念~~~~~

有機會再做一些紀錄吧~~~再繼續看下去~~~或許會有其他的感想

沒有留言:

張貼留言

Powered By Blogger