日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
.NET三層架構(gòu)應(yīng)用之十層框架

凡是接觸.net開發(fā)的,***要理解的就是三層架構(gòu)的重要思想。關(guān)于三層架構(gòu)的概述 我就不多說(shuō)了,相信大家都早已明白。

三層架構(gòu)(3-tier application) 就是將整個(gè)業(yè)務(wù)應(yīng)用劃分為:表現(xiàn)層(UI)、業(yè)務(wù)邏輯層(BLL)、數(shù)據(jù)訪問(wèn)層(DAL)。

區(qū)分層次的目的即為了“高內(nèi)聚,低耦合”的思想。

1、表現(xiàn)層(UI):通俗講就是展現(xiàn)給用戶的界面,即用戶在使用一個(gè)系統(tǒng)的時(shí)候他的所見所得。

2、業(yè)務(wù)邏輯層(BLL):針對(duì)具體問(wèn)題的操作,也可以說(shuō)是對(duì)數(shù)據(jù)層的操作,對(duì)數(shù)據(jù)業(yè)務(wù)邏輯處理。

3、數(shù)據(jù)訪問(wèn)層(DAL):該層是直接操作數(shù)據(jù)庫(kù)的,針對(duì)數(shù)據(jù)的增添、刪除、修改、更新、查找等。

各層關(guān)系如下圖所示:

我進(jìn)入公司之后,所接觸的項(xiàng)目都是建立在十層框架的基礎(chǔ)之上。所謂十層框架 其實(shí)就是三層架構(gòu)的具體應(yīng)用。

增加了網(wǎng)絡(luò)通訊層,實(shí)現(xiàn)遠(yuǎn)程調(diào)用。服務(wù)端運(yùn)行著Windowsservice 來(lái)產(chǎn)生數(shù)據(jù)訪問(wèn)層的對(duì)象提供給客戶端請(qǐng)求調(diào)用。

這樣處理,使得整個(gè)C/S模式中,一旦底層方法發(fā)生變動(dòng)時(shí),只需要更新服務(wù)器上相應(yīng)的dll,而不需要客戶端主機(jī)同步更新,

減少了維護(hù)成本。

下面說(shuō)下十層架構(gòu)中,每層的作用以及層與層之間的關(guān)系。

0L層:即啟動(dòng)層。用來(lái)控制畫面層中主畫面的啟動(dòng)。這層最簡(jiǎn)單,沒(méi)有太多代碼。

namespace CompanyName.Application.UI。

1U層:即畫面UI層。創(chuàng)建用戶界面。namespace CompanyName.Application.UI。

2C層:即畫面邏輯層。處理與畫面相關(guān)的邏輯控制,封裝下層方法供UI層使用。

namespace CompanyName.Application.Controller。

3E層:即畫面實(shí)體類層。根據(jù)畫面設(shè)計(jì)相應(yīng)的實(shí)體類或者枚舉類型。

namespace CompanyName.Application.Entity。

4A層:即業(yè)務(wù)邏輯層。業(yè)務(wù)邏輯的處理,以及上下層之間數(shù)據(jù)的轉(zhuǎn)換。屬于中間層。

namespace CompanyName.Application.Access。

5G層:即網(wǎng)絡(luò)層,也稱遠(yuǎn)程調(diào)用層。獲取遠(yuǎn)程服務(wù)器上的對(duì)象,進(jìn)行遠(yuǎn)程調(diào)用。

namespace CompanyName.Application.Remoting.Mediation。

6O層:即接口層。定義接口,用來(lái)規(guī)范數(shù)據(jù)訪問(wèn)層的方法設(shè)計(jì)。可以對(duì)子類進(jìn)行封箱和拆箱,也便于網(wǎng)絡(luò)傳輸。

namespace CompanyName.Application.Remoting.Interface。

7D層:即數(shù)據(jù)庫(kù)實(shí)體類。這一層所定義的類,是完全按照數(shù)據(jù)庫(kù)中表結(jié)構(gòu)來(lái)定義屬性的。與3E層不同在于,

3E層類中具有一些類方法,比如Clone();Compare();Equals();等。而D層則除了get {}set{} 方法之外的額外方法。

namespace CompanyName.Application.Remoting.ParamData。

8P層:即數(shù)據(jù)庫(kù)邏輯層。繼承O層接口,封裝R層方法。處理一些數(shù)據(jù)序列化轉(zhuǎn)換。

namespace ThreeHigh.Application.Remoting.Bussiness。

9R層:即數(shù)據(jù)庫(kù)訪問(wèn)層。直接訪問(wèn)數(shù)據(jù)庫(kù),針對(duì)數(shù)據(jù)的增添、刪除、修改、更新、查找等。

namespace CompanyName.Application.Remoting.DAO。

具體項(xiàng)目中一本程序的框架如下圖所示。

因?yàn)楣镜某绦蚨际桥c公司的數(shù)據(jù)庫(kù)有關(guān)的,而且有調(diào)用了很多共通的類與方法,沒(méi)辦法單獨(dú)運(yùn)行,所以程序源代碼就不再上傳了。

我覺(jué)得關(guān)鍵的技術(shù)主要在遠(yuǎn)程調(diào)用對(duì)象和服務(wù)器生成對(duì)象。

原文:http://www.cnblogs.com/KeiyouNo/archive/2012/02/02/Ten.html

【編輯推薦】

  1. 如何解決京東商城的性能瓶頸?
  2. ASP.NET性能優(yōu)化之反向代理緩存
  3. .NET程序員不要錯(cuò)過(guò)如此強(qiáng)大的T4模板
  4. ASP.NET MVC會(huì)成為ASP.NET未來(lái)主流的UI平臺(tái)?
  5. AgileEAS.NET實(shí)現(xiàn)醫(yī)院信息系統(tǒng)的解決方案

網(wǎng)站標(biāo)題:.NET三層架構(gòu)應(yīng)用之十層框架
轉(zhuǎn)載來(lái)源:http://www.dlmjj.cn/article/cdodddo.html