項目的架構分析


在一個好的架構下編程,不僅對於開發人員是一件賞心悅目的事情,更重要的是軟件能夠表現出一個健康的姿態;而架構設計的不合理,不僅對於開發人員是一件受苦受難的事情,軟件本身的質量更是受到嚴重威脅。

  • 架構設計圖

  • 架構說明

一個標准的四層架構包含如下四個部分:

  1. 展示層,負責系統與客戶的交互
  2. 業務邏輯層,負責處理系統的業務
  3. 數據訪問層,負責處理數據,與不同的數據庫打交道
  4. 服務層,負責與其他系統進行數據交互和業務集成

我們在此四層架構的基礎上進行一些擴展,就是將業務邏輯的方法抽象出業務接口層(IBLL)。 

  • 組件設計圖

  • 組件說明

以下是在架構圖的框架下設計的9個組件。

1.  App——頁面展示 

因為是BS架構的項目,所以選擇最新的MVC 3.0框架,使用Jquery腳本庫。

2.  BLL——業務邏輯

業務邏輯的操作,包括業務處理,事務等。

3.  DAL——數據訪問

數據庫訪問的操作,數據實體,數據校驗,使用微軟的EF技術。

4.  IBLL——業務接口

業務邏輯層的方法對外暴露的接口和服務契約。

5.  Common——公共組件

整個應用程序使用的公共輔助方法。

6.  ModelingProject——模型設計

在此設計項目的圖例,如:架構圖。

7.  WcfHost——服務宿主

為對外的服務提供宿主,使用微軟WCF技術。

8.  WFActivitys——工作流活動層

定義了工作流的活動,使用微軟WF技術。

9.  WFDesigner——工作流設計器

實施人員自由配置工作流的設計器,使用微軟WPF技術。

  • 我們約定:

調用關系請將架構圖和組件圖結合來看,如下:

  1. 展示層(App)調用業務接口層(IBLL),業務接口層(IBLL)被業務邏輯層(BLL)實現,業務邏輯層(BLL)調用數據訪問層(DAL),公共組件(Common)則是抽象了系統中可以共用和重用的部分,每個層都可以調用
  2. 增加了一個服務層(WcfHost),將業務接口層(IBLL)暴露給其他系統,使其方便與其他系統進行數據交互和業務集成
  3. 此處沒有讓展示層(App)調用服務層(WcfHost),是因為我們有共同的業務接口層(IBLL),也是為了性能的考慮
  4. 因為"數據實體"放在DAL層中,所以展示層(App)也需要引用數據訪問層(DAL),但不許在展示層做數據庫操作

下一個章節我們一起來探討一下這個架構的數據訪問層的具體實現。

此架構的代碼實現,請參考 www.langben.com 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM