<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      .Net三層架構

      希望朋友們留下自己對三層架構的理解。。。

      三層體系結構的概念

      1. 用戶界面表示層(USL)
      2. 業務邏輯層(BLL)
      3. 數據訪問層(DAL)


      BLL將USL與DAL隔開了,并且加入了業務規則

      • 各層的作用
      • 1:數據數據訪問層:主要是對原始數據(數據庫或者文本文件等存放數據的形式)的操作層,而不是指原始數據,也就是說,是對數據的操作,而不是數據庫,具體為業務邏輯層或表示層提供數據服務.

        2:業務邏輯層:主要是針對具體的問題的操作,也可以理解成對數據層的操作,對數據業務邏輯處理,如果說數據層是積木,那邏輯層就是對這些積木的搭建。

        3:表示層:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表現成:aspx, 如果邏輯層相當強大和完善,無論表現層如何定義和更改,邏輯層都能完善地提供服務。
      • 具體的區分方法

        1:數據數據訪問層:主要看你的數據層里面有沒有包含邏輯處理,實際上他的各個函數主要完成各個對數據文件的操作。而不必管其他操作。

        2:業務邏輯層:主要負責對數據層的操作。也就是說把一些數據層的操作進行組合。

        3:表示層:主要對用戶的請求接受,以及數據的返回,為客戶端提供應用程序的訪問。
      • 三層結構解釋

        所謂三層體系結構,是在客戶端與數據庫之間加入了一個中間層,也叫組件層。這里所說的三層體系,不是指物理上的三層,不是簡單地放置三臺機器就是三層體系結構,也不僅僅有B/S應用才是三層體系結構,三層是指邏輯上的三層,即使這三個層放置到一臺機器上。 三層體系的應用程序將業務規則、數據訪問、合法性校驗等工作放到了中間層進行處理。通常情況下,客戶端不直接與數據庫進行交互,而是通過COM/DCOM通訊與中間層建立連接,再經由中間層與數據庫進行交換.

        開發人員可以將應用的商業邏輯放在中間層應用服務器上,把應用的業務邏輯與用戶界面分開。在保證客戶端功能的前提下,為用戶提供一個簡潔的界面。這意味著如果需要修改應用程序代碼,只需要對中間層應用服務器進行修改,而不用修改成千上萬的客戶端應用程序。從而使開發人員可以專注于應用系統核心業務邏輯的分析、設計和開發,簡化了應用系統的開發、更新和升級工作。
      • 那么為什么要應用“中間業務層”呢?舉些例子:
             我們假設有一段登錄代碼,則可以這樣處理Web程序,外觀層負責接收前臺頁面的數據,然后傳給中間層,中間層對數據進行處理,比如格式化,防SQL注入等等一些,這樣的數據再傳給數據訪問層然后與數據庫進行操作,比如與數據庫的用戶名和密碼匹配等等一些代碼。


      • “中間業務層”的用途有很多,例如:驗證用戶輸入數據、緩存從數據庫中讀取的數據等等……但是,“中間業務層”的實際目的是將“數據訪問層”的最基礎的存儲邏輯組合起來,形成一種業務規則。例如:“在一個購物網站中有這樣的一個規則:在該網站第一次購物的用戶,系統為其自動注冊”。這樣的業務邏輯放在中間層最合適: 

      在“數據訪問層”中,最好不要出現任何“業務邏輯”!也就是說,要保證“數據訪問層”的中的函數功能的原子性!即最小性和不可再分。“數據訪問層”只管負責存儲或讀取數據就可以了。


      • ASP.NET中的三層結構說明

        完善的三層結構的要求是:修改表現層而不用修改邏輯層,修改邏輯層而不用修改數據層。否則你的應用是不是多層結構,或者說是層結構的劃分和組織上是不是有問題就很難說.不同的應用有不同的理解,這只是一個概念的問題.
      • 理解ASP.NET中的三層結構——為什么要分三層?

        我們用三層結構主要是使項目結構更清楚,分工更明確,有利于后期的維護和升級。它未必會提升性能,因為當子程序模塊未執行結束時,主程序模塊只能處于等待狀態。這說明將應用程序劃分層次,會帶來其執行速度上的一些損失。但從團隊開發效率角度上來講卻可以感受到大不相同的效果。


        需要說明一下,三層結構不是.NET的專利,也不是專門用在數據庫上的技術。它是一種更加普適的架構設計理念。


      此種架構要在數據庫設計上注意表之間的關系,盡力滿足主與子的關系。在功能上對用戶要有一定的限制,不要表現在對于子表的刪除操作一定要慎重,以免造成主表與子表的數據在邏輯上出現的主表的外鍵在子表中沒有相對應的值。

      • 對于表的綜合查詢方法是:
        先對主表查詢,調用主表所對應的DL。再根據主表的記錄分別對每一個子表進行查詢。將自表的查詢結果添加的主表后,形成一個大的查詢集合。
        對于表的操作(增刪改):
        此時只對主表進行操作,調用主表對應的DL中的操作方法。
        RL層是邏輯判斷層,主要是對頁面上傳入的數據進行邏輯判斷。RL層之上就是UI

      • 如何建立一個三層體系結構解決方案

        新建一個空白解決方案。然后:     
        “添加”-“新建項目”-“其他項目”-“企業級模版項目”-“C#生成塊”-“數據訪問”(數據層,下簡稱D層)     
        “添加”-“新建項目”-“其他項目”-“企業級模版項目”-“C#生成塊”-“業務規則”(業務層,下簡稱C層)     
        “添加”-“新建項目”-“其他項目”-“企業級模版項目”-“C#生成塊”-“Web用戶界面”(界面層,下簡稱U層)     
        右鍵點“解決方案”-“項目依賴項”,設置U依賴于D、C,C依賴于D。     
        對U添加引用D、C,對C添加引用D。     
        到此為止,一個三層的架子建立起來了。我上面說的很具體很“傻瓜”,知道的人覺得我廢話,其實我這段時間很強烈的感覺到非常多的人其實對這個簡單的過程完全不了解。雖然不反對建2個“空項目”和1個“Asp    net    Web應用程序項目”也可以作為3層的框架,而且相當多的人認為其實這些“企業級模板項目”其實就是個空項目,這是一個誤區。沒錯,企業級模板項目你從解決方案資源管理器里看它是個什么也沒有的,但是你可以用記事本打開項目文件,看見不同了吧??有些東西在背后,你是看不見的,不過系統已經做好了。也就是說,如果你在C層里的某個類里“using    System    Data    SqlClineit”,或者使用一個SqlConnection對象,編譯時候不會出錯,但是會在“任務列表”里生成一些“策略警告”,警告你在C層里不要放應該放在D層的東西(雖然就程序來說沒錯,但是可讀性可維護性就打了折扣)而這種功能,空項目是無法給你的。
      • 在新TraceLWord3中,應用了“企業級模板項目”。把原來的LWordTask.cs,并放置到一個單一的項目里,項目名稱為:AccessTask。解決方案中又新建了一個名稱為:InterService的項目,該項目中包含一個LWordService.cs程序文件,它便是“中間業務層”程序。為了不重復命名,TraceLWord3的網站被放置到了WebUI項目中。更完整的代碼,可以在CodePackage/TraceLWord3目錄中找到——     

      • 面象對象與實際的結合

      • 我們知道建橋需要磚塊,應該是先準備好磚再來建橋,不過為了講解上的順序性和連貫性,簡單性。我們先建橋,建的過程中需要磚塊再現做,這樣就不會多出來“橋不需要的東西”。注意在實際中,還是應該先準備磚塊。
             
        U層其實就是橋,C層是磚塊,D層是原料(石頭、沙子)。這也解釋前面為什么U層要引用、依賴D層(而不是U對C,C對D的層次),因為橋除了需要磚頭,其實也需要石頭沙子。
      • “三層結構”的缺點
      • 有些網友在讀完這篇文章前作之后,對我提出了一些質疑,這提醒我文章至此還沒有提及“三層結構”的缺點。“三層結構”這個詞眼似乎一直都很熱門,究其原因,或許是這種開發模式應用的比較普遍。但是“三層結構”卻并不是百試百靈的“萬靈藥”,它也存在著缺點。下面就來說說它的缺點……

        “三層結構”開發模式的一個非常明顯的缺點就是其執行速度不夠快。當然這個“執行速度”是相對于非分層的應用程序來說的。從文中所給出的時序圖來看,也明顯的暴露了這一缺點。TraceLWord1和TraceLWord2沒有分層,直接調用的ADO.NET所提供的類來獲取數據。但是,TraceLWord6確要經過多次調用才能獲取到數據。在子程序模塊程序沒有返回時,主程序模塊只能處于等待狀態。所以在執行速度上,留言板的版本越高,排名卻越靠后。“三層結構”開發模式,不適用于對執行速度要求過于苛刻的系統,例如:在線訂票,在線炒股等等……它比較擅長于商業規則容易變化的系統。

        “三層結構”開發模式,入門難度夠高,難于理解和學習。這是對于初學程序設計的人來說的。以這種模式開發出來的軟件,代碼量通常要稍稍多一些。這往往會令初學者淹沒在茫茫的代碼之中。望之生畏,對其產生反感,也是可以理解的……

        其實,無論哪一種開發模式或方法,都是有利有弊的。不會存在一種“萬用法”可以解決任何問題。所以“三層結構”這個詞眼也不會是個例外!是否采用這個模式進行系統開發,要作出比較、權衡之后才可以。切忌濫用!

      • 參與資料

      1. MainDoc.rar    (《淺談“三層結構”原理與用意》1.30M)      

        http://www.bincess.cn/Downloads/MainDoc.rar     

      2. petshop 4.0的體系結構(只是稍微看了一下,了解一下結構)

        簡介:PetShop隨著版本的不斷更新,至現在基于.Net 2.0的PetShop4.0為止,整個設計逐漸變得成熟而優雅,而且有很多可以借鑒之處。PetShop是一個小型的項目,系統架構與代碼都比較簡單,卻也凸現了許多頗有價值的設計與開發理念。
        PetShop架構設計
        三層”應用結構:數據訪問層、業務邏輯層(領域層)、表示層
        分層的設計的特點:
        結構清晰、耦合度低
        便于系統的擴展
        利于開發任務同步進行
        降低了一定的性能
        .Net    PetShop    4.0    配置文件屬性管理
        http://blog.csdn.net/fengfangfang/archive/2006/09/07/1189061.aspx       

        .Net    PetShop    4.0    緩存處理       
        http://blog.csdn.net/fengfangfang/archive/2006/09/06/1185077.aspx       

        .Net    PetShop    4.0    消息處理       
        http://blog.csdn.net/fengfangfang/archive/2006/09/08/1194896.aspx       

        每個功能都使用了工廠模式
      3. 參考了Duwamish
      4. Web Search
      posted @ 2009-01-18 16:07  GWPBrian  閱讀(115937)  評論(45)    收藏  舉報
      主站蜘蛛池模板: 亚洲综合一区国产精品| 暖暖 免费 高清 日本 在线观看5| 免费看国产曰批40分钟| 亚洲悠悠色综合中文字幕| 国产不卡在线一区二区| 国精品无码一区二区三区在线 | 国产超碰无码最新上传| www亚洲精品| 老司机免费的精品视频| 一边吃奶一边做动态图| 中文字幕乱码一区二区免费| 欧美日韩精品一区二区视频| 亚洲第一福利网站在线观看| 黑人巨大av无码专区| 中文字幕亚洲人妻系列| 国产亚洲精品黑人粗大精选| 亚洲AV成人片在线观看| 国产精品国产亚洲区久久| 午夜在线观看成人av| 果冻传媒色av国产在线播放| 欧美日韩人人模人人爽人人喊| 日本高清中文字幕免费一区二区| 精品无码久久久久久尤物| 曰韩无码二三区中文字幕| 色综合天天综合网中文伊| 精品国产午夜福利在线观看| 这里只有精品在线播放 | 欧美最猛性xxxxx大叫| 东京热人妻无码人av| 爱啪啪精品一区二区三区| 五月丁香啪啪| 国产精品色三级在线观看| 漂亮人妻中文字幕丝袜| 久久国产成人av蜜臀| 高清中文字幕一区二区| 义乌市| 亚洲爆乳少妇无码激情| 婷婷六月天在线| 久久综合综合久久高清免费| 欧美国产日产一区二区| 亚洲欧洲日产国无高清码图片 |