本書講解如何設計應用框架。應用框架為基于其上構建的應用提供通用服務,使你的代碼和設計獲得可擴展性、模塊化和可重用性的好處。本書闡述了什么是框架、以及許多用于創(chuàng)建框架的面向對象技術。本書還通過一個名為SimplifiedApplicationFramework(SAF)的具體框架案例,講解了如何實際地開發(fā)應用框架,其中包括類工廠、配置、事件通知、安全以及事務等非常典型的通用服務。另外,本書論及的許多服務均是以設計模式為藍圖的。書中深入討論了這些模式,并說明如何在具體場景中實現它們。本書內容充實、結構清晰,流暢地將設計模式、.NET高級技術和框架開發(fā)思路有機地組織在一起,實屬難能可貴。本書適合架構設計師、Framework開發(fā)人員、.NET開發(fā)人員閱讀。本書前言《應用框架的設計與實現——.NET平臺》是一本扎扎實實講解如何設計應用框架的書。不必說本書填補了框架設計中文版專著的空白,揭示了框架設計的諸多思想,提供了有助于讀者將設計思想落到實處的框架案例;也不必說本書深諳“講述設計過程優(yōu)于直接講述結果”的道理,思路清晰,層層展開;單是本書流暢地將設計模式、.NET高級技術和框架開發(fā)思路有機地組織在一起,就值得稱道。軟件學科的實踐性很強,設計模式雖說是最佳經驗的總結,但也必須多多實踐之后才能吃透——“記得舊文章,便是新舉子”的思想是要不得的。本書論及的許多通用服務均是以設計模式為藍圖的,例如策略、訪問者、觀察者、裝飾、橋接、抽象工廠設計模式等。書中不僅深入講解了這些模式,還說明了如何在具體場景中實現它們??梢哉f,對于想讓自己對設計模式的領會上一個臺階的讀者,本書堪當此任。本書也深入討論了許多.NET高級技術,例如反射、Remoting、XML、XPath、委托、ServicedComponent等。一般而言,案例的規(guī)模應當和所演示技術的難度成正比——但凡是“高級技術”,通過太小的案例很難充分說明其威力。而本書提供了一個貫穿始終的應用框架案例,讓讀者感覺“趕上了”有分量的任務,這恰好營造了真正掌握.NET高級技術的環(huán)境。當然,本書的最終目的是教會你如何設計應用框架:先是講解了應用框架的含義、歷史和五大優(yōu)點;然后,解釋了框架開發(fā)過程與一般應用開發(fā)的不同;接下來是譯者最喜歡的對框架開發(fā)通用技術的講解,這包括了通用點(commonspot)、擴展點(hotspot)及實現它們的方法,以及黑盒框架(black-boxframework)、白盒框架(white-boxframework)、灰盒框架(gray-boxframework)的區(qū)別與聯系等。本書后面的12章分別講解SAF的每一個組件的設計過程——SAF是個包含緩存服務、配置服務、授權服務、事務服務、工作流服務等12個通用服務的B2B應用框架。譯完這本書之后曾有這樣的感慨:優(yōu)秀的軟件架構師,不僅設計的軟件非常棒,而且寫的書也應當是松耦合、高聚合的。本書的作者無疑就是這樣的人,因為本書后面的12章,每一章都是一個高聚合的整體,將業(yè)務背景、動機目的、技術難點、設計模式、解決方案穿成一串呈現給你。這樣一來,就非常適合軟件圈子里的人閱讀——抽出時間任意讀它一章,或是工作中查閱某章來參考,無不相宜。讀佳作,如享盛宴?!稇每蚣艿脑O計與實現——.NET平臺》就是這樣一本內容充實、結構清晰的佳作。溫昱靳向陽2005年5月