新聞中心
下面的架構(gòu)設(shè)計是公司項目中實際使用的,希望大家不吝指教,溝通改進。

架構(gòu)設(shè)計圖
架構(gòu)說明
一個標準的三層架構(gòu)包含如下三個部分:
-
展示層,負責系統(tǒng)與客戶的交互
-
業(yè)務邏輯層,負責處理系統(tǒng)的業(yè)務
-
數(shù)據(jù)訪問層,負責處理數(shù)據(jù),與不同的數(shù)據(jù)庫打交道
我們在此三層架構(gòu)的基礎(chǔ)上進行一些小的擴展,增加了一個服務層,使其方便與其他系統(tǒng)進行數(shù)據(jù)交互和業(yè)務集成。
公共組件則是抽象了系統(tǒng)中可以共用和重用的部分。
組件設(shè)計圖
組件說明
-
App——頁面展示
采用MVC 3.0框架,使用Jquery腳本庫,控件選用Easyui。
-
BLL——業(yè)務邏輯
業(yè)務邏輯的操作,包括業(yè)務處理,事務,日志。
-
DAL——數(shù)據(jù)訪問
數(shù)據(jù)庫訪問的操作,數(shù)據(jù)實體,業(yè)務實體,數(shù)據(jù)校驗,使用Entity Framework。
-
IBLL——業(yè)務接口
業(yè)務邏輯層的方法對外暴露的接口和服務契約。
-
Common——公共組件
整個應用程序使用的公共輔助方法。
-
ModelingProject——模型設(shè)計
在此設(shè)計項目的圖例,如:架構(gòu)圖。
-
WcfHost——服務宿主
為對外的服務提供宿主,使用微軟WCF技術(shù),采用HTTPS通訊協(xié)議。
-
WFActivitys——工作流活動層
定義了工作流的活動,使用微軟WF技術(shù)。
-
WFDesigner——工作流設(shè)計器
可以讓實施人員自由配置工作流的設(shè)計器,使用微軟WPF技術(shù)。
以上是在架構(gòu)圖的框架下設(shè)計的9個組件,讓每個層職責獨立,松耦合,適合團隊開發(fā)。
在架構(gòu)圖中我們看到有"數(shù)據(jù)實體"、"業(yè)務實體"和"頁面模型",他們之間的關(guān)系呢?數(shù)據(jù)實體是數(shù)據(jù)庫表和表關(guān)系的映射,是Entity Framework自動生成的;但在不同的業(yè)務領(lǐng)域,數(shù)據(jù)實體無法滿足需求,就需要我們在數(shù)據(jù)實體的基礎(chǔ)上擴展或者自定義,于是就有了業(yè)務實體的概念;務實體經(jīng)過業(yè)務處理后,需要展示給客戶的模型就叫做頁面模型,頁面模型是一個頁面動態(tài)數(shù)據(jù)的載體,每個頁面都對應著自己的頁面模型。如果我們只是做一個單表的增刪改查,那么"數(shù)據(jù)實體"、"業(yè)務實體"和"頁面模型"是一樣的,但在復雜業(yè)務中,三者就有差別了。
"數(shù)據(jù)實體"在DAL層中,是Entity Framework自動生成的實體;
"業(yè)務實體"也在DAL層中,是基于"數(shù)據(jù)實體"進行擴展的實體
"頁面模型"則比較復雜,簡單的頁面模型,可以直接使用業(yè)務實體,復雜的頁面模型則需要自定義,放在了Modles文件夾下。
此架構(gòu)實現(xiàn)的下載地址http://files.cnblogs.com/langben/www.langben.com.zip
當前標題:分析公司項目使用的架構(gòu)
URL網(wǎng)址:http://fisionsoft.com.cn/article/djcoeid.html


咨詢
建站咨詢
