小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

I2Key技術(shù)文檔 - 用MS.NET開發(fā)三層結(jié)構(gòu)應(yīng)用程序

 liuqg 2006-03-10
用MS.NET開發(fā)三層結(jié)構(gòu)應(yīng)用程序
作者:   出處:   人氣:219
收藏此頁    收藏此頁到365Key    收藏此頁到ViVi
用MS.NET開發(fā)三層結(jié)構(gòu)應(yīng)用程序

傳統(tǒng)兩層結(jié)構(gòu)

  在過去應(yīng)用系統(tǒng)開發(fā)過程中, CLIENT/SERVER體系結(jié)構(gòu)得到了廣泛的應(yīng)用. 其特點(diǎn)是, 應(yīng)用程序邏輯通常分布在客戶和服務(wù)器兩端, 客戶端發(fā)出數(shù)據(jù)資源訪問請求, 服務(wù)器端將結(jié)果返回客戶端. 但CLIENT/SERVER結(jié)構(gòu)存在著很多體系結(jié)構(gòu)上的問題, 比如:當(dāng)客戶端數(shù)目激增時(shí), 服務(wù)器端的性能會(huì)因?yàn)樨?fù)載過重而大大衰減;一旦應(yīng)用的需求發(fā)生變化, 客戶端和服務(wù)器端的應(yīng)用程序都需要進(jìn)行修改, 給應(yīng)用維護(hù)和升級帶來了極大的不便; 大量的數(shù)據(jù)傳輸增加了網(wǎng)絡(luò)的負(fù)載等等.

三層結(jié)構(gòu)介紹

  所謂三層體系結(jié)構(gòu), 是在客戶端與數(shù)據(jù)庫之間加入了一個(gè)"中間層", 也叫組件層. 這里所說的三層體系, 不是指物理上的三層, 不是簡單地放置三臺(tái)機(jī)器就是三層體系結(jié)構(gòu), 也不僅僅有B/S應(yīng)用才是三層體系結(jié)構(gòu), 三層是指邏輯上的三層, 即使這三個(gè)層放置到一臺(tái)機(jī)器上.

  三層體系的應(yīng)用程序?qū)I(yè)務(wù)規(guī)則、數(shù)據(jù)訪問、合法性校驗(yàn)等工作放到了中間層進(jìn)行處理. 通常情況下, 客戶端不直接與數(shù)據(jù)庫進(jìn)行交互, 而是通過COM/DCOM通訊與中間層建立連接, 再經(jīng)由中間層與數(shù)據(jù)庫進(jìn)行交互.


  ASP.net只是.net中的一部分. 它最大的優(yōu)點(diǎn)除了是編譯執(zhí)行速度快外, 我覺得最大的優(yōu)點(diǎn)是頁面和代碼分離的編寫方式(效果就象DELPHI里的FORM設(shè)計(jì)界面和處理代碼分離一樣), 對我們這些慣使RAD工具的人來說不啻是個(gè)福音. 再加上.net庫提供的支持事件的各種WEB控件, 和以前編寫網(wǎng)頁方式相比可謂是一場革命. 隨著分布式對象技術(shù)的逐漸成熟, 多層分布式應(yīng)用體系結(jié)構(gòu)得到了越來越多的應(yīng)用. 應(yīng)用系統(tǒng)只有向多層分布式轉(zhuǎn)變, 才能最終解決CLIENT/SERVER結(jié)構(gòu)存在的問題. 在多層架構(gòu)下, 應(yīng)用可以分布在不同的系統(tǒng)平臺(tái)上, 通過分布式技術(shù)實(shí)現(xiàn)異構(gòu)平臺(tái)間對象的相互通信. 將應(yīng)用系統(tǒng)集成于分布式系統(tǒng)之上, 能極大地提高系統(tǒng)的可擴(kuò)展性.

  在多層分布式應(yīng)用中, 在客戶端和服務(wù)器之間加入了一層或多層應(yīng)用服務(wù)程序, 這種程序稱為"應(yīng)用服務(wù)器". 開發(fā)人員可以將應(yīng)用的商業(yè)邏輯放在中間層應(yīng)用服務(wù)器上, 把應(yīng)用的業(yè)務(wù)邏輯與用戶界面分開. 在保證客戶端功能的前提下, 為用戶提供一個(gè)簡潔的界面. 這意味著如果需要修改應(yīng)用程序代碼, 只需要對中間層應(yīng)用服務(wù)器進(jìn)行修改, 而不用修改成千上萬的客戶端應(yīng)用程序. 從而使開發(fā)人員可以專注于應(yīng)用系統(tǒng)核心業(yè)務(wù)邏輯的分析、設(shè)計(jì)和開發(fā), 簡化了應(yīng)用系統(tǒng)的開發(fā)、更新和升級工作.

Microsoft.NET 為三層結(jié)構(gòu)做的準(zhǔn)備

  Microsoft .NET Framework是微軟推出的一套下一代開發(fā)平臺(tái). .NET 基于開發(fā)人員的角度來說它是一個(gè)公共平臺(tái)的類庫(FCL), 包含了近100 個(gè)命名空間(namespace)的近5000個(gè)類, 想想看這是多的強(qiáng)大, 還包括一個(gè)公共語言運(yùn)行庫(CLR). 因?yàn)橹灰?NET的公共運(yùn)行規(guī)范(CLS的語言都可以 使用它提供的強(qiáng)大的類, 并編譯為微軟的中間語言(MSIL), 在其他的應(yīng)用中就可以當(dāng)作一個(gè)組件來調(diào)用. 同時(shí)享受公共運(yùn)行庫帶來的一切好處: 垃圾自動(dòng)回收(GC)、實(shí)時(shí)編譯(JIT)、跨語言互動(dòng)、跨平臺(tái). .NET 還可比喻是操作系統(tǒng)提供給開發(fā)人員的面向?qū)ο竦腁PI. ASP.net是.net中的一部分. 它最大的優(yōu)點(diǎn)除了是編譯執(zhí)行速度快外, 我覺得最大的優(yōu)點(diǎn)是頁面和代碼分離的編寫方式, 再加上.net庫提供的支持事件的各種WEB控件, 以及.NET公共平臺(tái)的類庫(FCL), 和以前編寫網(wǎng)頁方式相比可謂是一場革命.

用ASP.NET部署三層架構(gòu)

  ASP.NET可以使用.NET平臺(tái)快速方便的部署三層架構(gòu). ASP.NET革命性的變化是在網(wǎng)頁中也使用基于事件的處理, 可以指定處理的后臺(tái)代碼文件, 可以使用C#,VB,J#作為后臺(tái)代碼的語言. .NET中可以方便的實(shí)現(xiàn)組件的裝配, 后臺(tái)代碼通過命名控件可以方便的使用自己定義的組件. 顯示層放在ASP頁面中, 數(shù)據(jù)庫操作和邏輯層用組件來實(shí)現(xiàn), 這樣就很方便的實(shí)現(xiàn)了三層架構(gòu).


下面分別就各層的實(shí)現(xiàn)舉個(gè)制作留言簿的小例子.

我們首先在sqlserver數(shù)據(jù)庫中建一個(gè)數(shù)據(jù)庫GestDB,在GestDB中建表:Guestbook

Create table Geustbook(id int(4) unique not null,name varchar(20),content text, Primary key id);

  第一步:打開VS.NET, 點(diǎn)擊文件->>新建->>空白解決方案, 在彈出的新建項(xiàng)目中選擇Visal C#項(xiàng)目, 模板選擇ASP.NET Web應(yīng)用程序.在位置處給本方案命名為geustbook.如下圖所示.

  第二步:建數(shù)據(jù)庫訪問控件. 單擊上圖的"確定". 在窗口右邊的 "解決方案資源管理器"中右擊"解決方案"guestbook""選擇"添加"->"新建項(xiàng)目", 彈出如下窗口, 如圖模板選擇類庫, 填寫名稱, 位置. 注意該類庫理論上與留言簿的工程是沒有關(guān)系的, 所以存儲(chǔ)位置可以任意.

  第三步:建立邏輯處理層. 同第二步, 建立另一個(gè)控件BusinessLayer. 此控件用來調(diào)用數(shù)據(jù)庫控件, 封裝留言簿所有的邏輯處理. 如下圖所示.

  第四步:關(guān)于引用. 因?yàn)锽USINESSLAYER要用到系統(tǒng)的WEB控件和剛才建的DBLayer, 所以必須把二者添加引用. 右鍵點(diǎn)擊BUSINESSLAYER的"引用", 選擇.NET的"System.web.dll"雙擊選中

  然后再點(diǎn)項(xiàng)目的"DBLayer"雙擊選中.

  第五步:把GUESTBOOK ASP.NET項(xiàng)目跟邏輯層聯(lián)系起來, 同樣使用添加引用. 注意:在BUSINESSLAYER已經(jīng)引用過DBLAYER, 在GUESTBOOK處只需引用BUSINESSLAYER就可以了.

  現(xiàn)在你的GUESTBOOK解決方案資源管理器應(yīng)該是如下圖所示:

  如果不是的話, 請檢查一下上面的步驟哪里是否出錯(cuò).

  通過上述步驟, 就已經(jīng)成功部署了ASP.NET的三層架構(gòu). 在guestbook這一層我們放置應(yīng)用顯示的ASP頁面, 在BusinessLayer層, 我們把所有的業(yè)務(wù)邏輯代碼在該層實(shí)現(xiàn). DataLayer層主要處理數(shù)據(jù)庫的操作, 供BusinessLayer層調(diào)用.

  只要在各個(gè)層中實(shí)現(xiàn)具體的類就可以成功實(shí)施三層結(jié)構(gòu)的應(yīng)用程序了.

總結(jié)

  本文簡要描述了三層架構(gòu)的軟件體系思想, 通過一個(gè)留言簿的例子主要介紹了用MS.NET部署三層結(jié)構(gòu)的具體實(shí)現(xiàn)方法.

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多