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

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


咨詢
建站咨詢
