本架構在前一個版本的基礎上進行了功能的升級,加上了常用的SOA應用部分,堅持將松散耦合、可擴展性、易維護性、可裁剪性進行到底。本架構依然站在福勒的肩膀上采用.Net技術實現其基本思想。系統在傳統三層架構上新增了“傳說中”的第四層,即“System Interaction(系統交互)”層.
較之前一個版本,本版本新增以下新亮點:
1、新增架構對SOA應用的支持,使用WCF實現。
2、Spring深度整合WCF。
3、遠程外觀模式(Facade)應用。
4、新增系統交互層。
5、根據目標實際項目,架構可裁剪。
6、數據傳輸對象模式(DTO)應用。
代碼:
運行環境:
VS2010、MVC3、WCF4、 .NetFramework4.0、Window XP以上、SQLServer NorthWind數據庫
說明:
下圖是架構視圖,先對相關部分進行說明,其中有些部分我會省略,原因是前面的版本我已經詳細說明過了,具體可參考我其他的版本。

Host:即為宿主,是一個WCF應用,也可以是其他形式的宿主(如:Windows Server、Console等)。
Facade:即為WebSerive的具體調用,其接口聲明了服務的契約部分,這樣實現了調用分離,Facade被福勒定義為“遠程外觀”,其主要職責是進一步整合Service中的方法,盡可能降低通信率,提高通信效率。當然這里面的方法都是你需要暴露給外界的WebSerive。它是WebSerive的門戶,我們還可以在這里實現數據類型轉換(DTO->Domain),數據有效性驗證等處理。
DTO:即為數據傳輸對象,這也是分布式應用中常用的模式,為的是減少通信次數,一次盡可能多的返回客戶端所需要的信息,在這里我們還將它聲明為數據契約,也可以做些類似於Model中數據有效性驗證。
Interaction:即為系統交互層,這是四層架構中的一層,為的是讓系統和其他系統間通信的代碼集中管理起來,並使用其接口實現松耦合。系統從外部系統獲取的信息,在這里經過類型轉換和有效性驗證后交給Service層做業務的處理。
開發架構:

