中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術(shù)文檔 > 網(wǎng)絡(luò)編程 > 闡述.NET應(yīng)用架構(gòu)
用智能跟蹤(IntelliTrace)窺入云端 回到列表 20年來我得到的20條編程經(jīng)驗(yàn)
 闡述.NET應(yīng)用架構(gòu)

作者:bluehearts 時(shí)間: 2010-06-08 文檔類型:原創(chuàng) 來自:藍(lán)色理想

業(yè)務(wù)組件的設(shè)計(jì)是非常重要的工作,如果你沒有正確的設(shè)計(jì)業(yè)務(wù)組件的話,結(jié)果很可能就是代碼難以維護(hù)和擴(kuò)展。在設(shè)計(jì)和實(shí)現(xiàn)應(yīng)用的時(shí)候,有多種類型的業(yè)務(wù)組件。包括業(yè)務(wù)邏輯組件,業(yè)務(wù)實(shí)體,業(yè)務(wù)流程或者是工作流組件,工具和幫助組件。

設(shè)計(jì)步驟

1 確定在應(yīng)用中將會(huì)使用的業(yè)務(wù)組件

在業(yè)務(wù)層,你需要?jiǎng)?chuàng)建和使用各種類型的組件來處理業(yè)務(wù)邏輯。本步驟的目標(biāo)就是如何識(shí)別這些組件,發(fā)現(xiàn)應(yīng)用需要的組件。下面的步驟幫助你確定你需要那些組件:

  • 考慮使用業(yè)務(wù)邏輯組件來封裝業(yè)務(wù)邏輯和應(yīng)用狀態(tài)。業(yè)務(wù)邏輯是一種集中于實(shí)現(xiàn)業(yè)務(wù)規(guī)則和行為的應(yīng)用邏輯,同時(shí)包括維護(hù)全局的一致性,例如數(shù)據(jù)合法性驗(yàn)證。業(yè)務(wù)邏輯組件應(yīng)該設(shè)計(jì)成容易測(cè)試的、獨(dú)立于表現(xiàn)層和數(shù)據(jù)訪問層。
  • 考慮使用業(yè)務(wù)實(shí)體作為領(lǐng)域模型的一部分,來代表真實(shí)世界的業(yè)務(wù)實(shí)體,例如產(chǎn)品和訂單。
  • 如果你的應(yīng)用需要支持以一種特殊的順序進(jìn)行多進(jìn)程處理,考慮使用業(yè)務(wù)工作流組件。使用在多個(gè)業(yè)務(wù)邏輯組件之間進(jìn)行交互所需的業(yè)務(wù)規(guī)則。通過升級(jí)工作流組件就可以改變應(yīng)用的行為。如果應(yīng)用一定要實(shí)現(xiàn)根據(jù)業(yè)務(wù)規(guī)則實(shí)現(xiàn)動(dòng)態(tài)的業(yè)務(wù)邏輯的話,考慮使用工作流組件?紤]使用WF實(shí)現(xiàn)工作流組件,考慮和微軟的BizTalk Server環(huán)境整合。

2 為業(yè)務(wù)組件做關(guān)鍵的決定

web應(yīng)用中的業(yè)務(wù)組件通常處理消息為基礎(chǔ)請(qǐng)求,windows form應(yīng)用通常處理事件為基礎(chǔ)的請(qǐng)求。另外,不同類型的應(yīng)用關(guān)注點(diǎn)也不同。一些因素是不分應(yīng)用類型的,一些因素又是每個(gè)應(yīng)用類型特有的。你一定要處理的關(guān)鍵問題包括:

  • 部署位置。你的業(yè)務(wù)邏輯組件是放在客戶端嗎?還是應(yīng)用服務(wù)器?還是兩者都有?如果應(yīng)用是富客戶端應(yīng)用或者是RIA,想要提高性能,使用領(lǐng)域模型設(shè)計(jì)業(yè)務(wù)實(shí)體,考慮在客戶端放一些業(yè)務(wù)組件。如果要支持多種客戶端類型,如果業(yè)務(wù)組件需要訪問客戶端訪問不到的資源,或者是安全原因,考慮將業(yè)務(wù)組件放在應(yīng)用服務(wù)器上。
  • 耦合。表現(xiàn)層組件如何與業(yè)務(wù)組件交互?是應(yīng)該設(shè)計(jì)一個(gè)表現(xiàn)層直接知道業(yè)務(wù)組件的緊耦合,還是一個(gè)對(duì)表現(xiàn)層屏蔽實(shí)現(xiàn)細(xì)節(jié)的業(yè)務(wù)組件松耦合。如果你是一個(gè)富客戶端類型或者是RIA,可以考慮緊耦合表現(xiàn)層和業(yè)務(wù)組件。但是松散耦合可以提高可測(cè)試性和靈活性。如果你有一個(gè)富客戶端類型或者是RIA應(yīng)用,將業(yè)務(wù)組件部署在應(yīng)用服務(wù)器或者是web服務(wù)器,為它們之間的交互設(shè)計(jì)一個(gè)服務(wù)接口,來實(shí)現(xiàn)松散耦合。
  • 交互。如果業(yè)務(wù)組件和表現(xiàn)層組件部署在同一個(gè)物理層,考慮使用通過事件和方法的組件為基礎(chǔ)的交互,來最大化性能。但是,如果表現(xiàn)層和業(yè)務(wù)層部署在不同的物理層,考慮使用服務(wù)接口和消息為基礎(chǔ)的交互方式。

3 選擇適當(dāng)?shù)氖聞?wù)支持

業(yè)務(wù)組件負(fù)責(zé)協(xié)調(diào)和管理業(yè)務(wù)層需要的事務(wù)。但是第一步是決定是否需要事務(wù)支持。事務(wù)用來確保一些的行為都可以執(zhí)行,例如數(shù)據(jù)庫事務(wù)。事務(wù)以一個(gè)單獨(dú)的單元來完成。如果單元中的一個(gè)行為失敗,其他的行為會(huì)回滾,確保系統(tǒng)的一致性狀態(tài)。例如:有一個(gè)操作需要更新三張表,如果一個(gè)失敗,兩個(gè)成功,數(shù)據(jù)庫將會(huì)處于不一致狀態(tài),這時(shí)候適合用事務(wù)來執(zhí)行,一個(gè)失敗,大家都回滾到事務(wù)之前的狀態(tài),保證了一致性。事務(wù)包括下面的一些類型:

  • System.Transactions。使用業(yè)務(wù)邏輯初始化和管理事務(wù)。包括在.NET 2.0中,實(shí)現(xiàn)輕量的事務(wù)管理。
  • WCF Transactions。在.NET 3.0中引入,如果和WCF service進(jìn)行交互,考慮使用WCF Transactions。
  • ADO.NET Transactions。
  • Database。

4 確定業(yè)務(wù)規(guī)則如何處理

業(yè)務(wù)規(guī)則的管理是應(yīng)用最有挑戰(zhàn)性的設(shè)計(jì)之一。通常業(yè)務(wù)規(guī)則用于業(yè)務(wù)層。但是,他們會(huì)在業(yè)務(wù)層的那里呢?你可以放在業(yè)務(wù)邏輯或者是工作流組件,或者是一個(gè)獨(dú)立的業(yè)務(wù)規(guī)則引擎,又或者是包含在領(lǐng)域模型設(shè)計(jì)的業(yè)務(wù)實(shí)體中。參考下面的選項(xiàng):

  • 業(yè)務(wù)邏輯組件。
  • 工作流組件。
  • 業(yè)務(wù)規(guī)則引擎。
  • 領(lǐng)域模型設(shè)計(jì)。將業(yè)務(wù)規(guī)則包括在業(yè)務(wù)實(shí)體中。

5 確定滿足需求的設(shè)計(jì)模式

設(shè)計(jì)模式 推薦原因

Adapter適配器模式

  允許沒有兼容接口的類在一起工作,允許開發(fā)者實(shí)現(xiàn)一個(gè)多態(tài)的類為現(xiàn)有了類提供一個(gè)可替代的實(shí)現(xiàn)。
Command   推薦在富客戶端應(yīng)用的菜單、工具條、鍵盤快捷鍵中使用,不同的組件執(zhí)行相同的命令。
Chain of Responsibility   可以用來代替if 。。。then。。。else語句,可以處理復(fù)雜的業(yè)務(wù)規(guī)則。
Decorator   通過添加和修改操作,在運(yùn)行的時(shí)候擴(kuò)展對(duì)象的行為。需要一個(gè)通用的接口,有一個(gè)Decorator類來實(shí)現(xiàn)它?梢蕴幚韽(fù)雜的業(yè)務(wù)規(guī)則。
Dependency Injection   使用一個(gè)獨(dú)立的類創(chuàng)建對(duì)象和成員,通常基于配置文件在運(yùn)行的時(shí)候創(chuàng)建依賴關(guān)系。配置文件中指明類型的映射關(guān)系。提供一個(gè)修改行為的靈活方式,從而實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)規(guī)則。
Facade 提供粗粒度的操作,統(tǒng)一多個(gè)業(yè)務(wù)組件的結(jié)果。典型的應(yīng)用是,在業(yè)務(wù)層為以消息為基礎(chǔ)的接口實(shí)現(xiàn)一個(gè)遠(yuǎn)程的外觀,用來在表現(xiàn)層和業(yè)務(wù)層提供一個(gè)松散的耦合。
Factory 不用指定的類型創(chuàng)建對(duì)象實(shí)例,需要對(duì)象實(shí)現(xiàn)通用的接口,或者是繼承一個(gè)基類。

Transaction

Script

在很少的業(yè)務(wù)規(guī)則的CRUD操作中推薦使用。

本文鏈接:http://m.95time.cn/tech/program/2010/7652.asp 

出處:藍(lán)色理想
責(zé)任編輯:bluehearts

◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論

作者文章 更多作者文章
中國數(shù)字媒體產(chǎn)學(xué)研聯(lián)盟成立
第二屆"昆山杯"筆記本電腦設(shè)計(jì)大賽
首屆UED周末論壇圖文報(bào)道
UI AWARD 2010(國家級(jí)UI設(shè)計(jì)評(píng)選)
用vs2010構(gòu)建Silverlight4應(yīng)用程序
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計(jì)比賽 網(wǎng)頁制作 web標(biāo)準(zhǔn) 用戶體驗(yàn) UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點(diǎn)最新 站點(diǎn)最新列表
周大!熬•自然”設(shè)計(jì)大賽開啟
國際體驗(yàn)設(shè)計(jì)大會(huì)7月將在京舉行
中國國防科技信息中心標(biāo)志征集
云計(jì)算如何讓安全問題可控
云計(jì)算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會(huì)
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅(jiān)的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計(jì)大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺(tái)歷
Ps簡(jiǎn)單繪制一個(gè)可愛的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡(jiǎn)單的作品展示頁面
CSS定位機(jī)制之一:普通流
25個(gè)最佳最閃亮的Eclipse開發(fā)項(xiàng)目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨(dú)家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點(diǎn)的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請(qǐng)不要盜鏈到本站,且不準(zhǔn)打上各自站點(diǎn)的水印,亦不能抹去我站點(diǎn)水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計(jì)作品,如需使用,請(qǐng)與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請(qǐng)與我們聯(lián)系,我們將立即刪除修改。

您的評(píng)論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評(píng)論。如果您不是本站會(huì)員,你可以注冊(cè) 為本站會(huì)員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯(cuò)誤,請(qǐng)用報(bào)告錯(cuò)誤,以利文檔及時(shí)修改。
不評(píng)分 1 2 3 4 5
注意:請(qǐng)不要在評(píng)論中含與內(nèi)容無關(guān)的廣告鏈接,違者封ID
請(qǐng)您注意:
·不良評(píng)論請(qǐng)用報(bào)告管理員,以利管理員及時(shí)刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項(xiàng)有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評(píng)論管理人員有權(quán)保留或刪除其管轄評(píng)論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評(píng)論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評(píng)論文檔 | 報(bào)告錯(cuò)誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測(cè)試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計(jì)之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設(shè)計(jì)》
犀利開發(fā)—jQuery內(nèi)核詳解與實(shí)踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2