国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - 淺談ASP.NET中多層架構

淺談ASP.NET中多層架構

2019-12-18 15:54hebedich ASP.NET教程

Asp.net的多層架構主要是為了解決數據層,邏輯層,表示層等之間的關系。我的做法是這樣的:首先建立一個DataCore的基類。基類里面封裝了一些低層的數據庫的基本操作,比如說數據庫聯接,調用存儲過程等等。

很多人對開發多層應用程序感到一定的困難。來看一個例子:對于一個只有一兩個人的小公司,一個人可能同時擔當老板、出納、會計、市場、銷售、開發等多項工作。而對于一個大公司,就會進行比較嚴密的分工,每個人只完成一部分工作,需要彼此配合才能保證正常運轉。以前的開發程序就類似于一個小公司,從用戶界面到數據庫訪問等所有功能都在一個頁面內完成,這樣的缺點有:

    1. 開發起來比較困難,很難實現多人協作開發

    2. 一旦數據庫或規則有變,就可能要重新修改整個頁面,加大維護成本

    3. 因為所有功能都混合在一起,程序重用性差。如果開發一個新項目,幾乎要重寫代碼

        為了解決這個問題,人們就提出了“多層應用程序”概念,其本質類似于一個職權明確的大公司,對頁面進行分工,將數據訪問、業務規則等功能都放在專門的文件中。比較流行的有二層架構、三層架構和MVC。

一. 二層架構

         二層架構,就是將程序分為用戶界面層和數據訪問層。其本質是將訪問數據庫的代碼放入數據訪問層中,而用戶界面層通過數據訪問層對數據庫進行操作。 相互作用關系如下:("<--->"表示雙向箭頭)

用戶界面 <---> 數據訪問 <---> 數據庫

二. 三層架構

        三層架構,即將二層架構中的業務邏輯從數據訪問層中分離出來,成為一個單獨的業務邏輯層。將程序分為三層后,數據訪問層就只管對數據庫進行操作,而業務邏輯層負負責對數據進行各種處理。 
從頂層上主要包含了4個部件:DAL(數據處理層)、BLL(業務邏輯層)、UI(用戶接口層)、Model(實體模型)。其中前三者就是人們常說的三層結構。 
    1)數據訪問層(database access layer,DAL):有時候也稱為是持久層,其功能主要是負責數據庫的訪問。簡單的說法就是實現對數據表的Select,Insert,Update, Delete的操作。如果要加入ORM的元素,那么就會包括對象和數據表之間的mapping,以及對象實體的持久化; 
    2)業務邏輯層(business logic layer, BLL):是整個系統的核心,它與這個系統的業務(領域)有關; 
    3)表示層(user interface layer, UIA):是系統的UI部分,負責使用者與整個系統的交互。在這一層中,理想的狀態是不應包括系統的業務邏輯。表示層中的邏輯代碼,僅與界面元素有關; 
   4)實體模型層(Model):包含了所有的數據信息,這些數據信息以各種Entity實例的形式存在。是整個系統基礎層次;

淺談ASP.NET中多層架構

        完善的三層結構應該是:修改表示層而不用修改邏輯層,修改邏輯層二不用修改數據訪問層。達到一定程度上的解耦。

        三層架構主要是使項目結構更清楚,分工更明確,有利于后期的維護和升級。它解決了整個應用程序中各個業務操作過程中不同階段的代碼封裝的問題,使程序員更加專注的處理某階段的業務邏輯。然而未必會提升性能,因為當子程序模塊未執行結束時,主程序模塊只能處于等待狀態。這說明將應用程序劃分層次,會帶來其執行速度上的一些損失。但從團隊開發效率角度上來講卻可以感受到大不相同的效果。

        需要注意的是,雖然三層架構有很多的好處,但如果你的程序很簡單,或者將來肯定不會重用,或不一定要采用兩層架構,也許采用兩層或普通的程序開發速度會更快。要根據實際情況具體處理。

三. MVC

        M 即Model(模型層),主要負責出來業務邏輯以及數據庫的交互; 
        V 即View(視圖層),主要用于顯示數據和提交數據; 
        C 即Controller(控制器),主要是用作捕獲請求并控制請求轉發;

        MVC是在應用程序(BS結構)的視圖層劃分出來的不同功能的幾個模塊,主要是為了解決應用程序用戶界面的樣式替換問題,把展示數據的 HTML 頁面盡可能的和業務代碼分離。

四. 三層結構與MVC的區別

區別的話,看圖就能明白:

淺談ASP.NET中多層架構

圖2. MVC 與 三層架構的區別

         三層架構是界面層(UI)業務邏輯層(BLL)和數據訪問層(DAL)構成的,而MVC是模型層(M)界面層(View)和控制層(Controller)構成的,而且他們之間也不對應。 
        如果硬要給他們對應的話,那么三層架構中的UI對應MVC中的view都是用于顯示以及獲取界面的數據;三層架構中的BLL層和DAL層對應MVC中的Model層都是用于處理上層傳遞來的數據以及從數據庫獲取的數據的;MVC中的Controller最多算是三層架構中的UI的一部分。

五. 三層架構引用關系

Model層:不引用任何項目; 
DAL層:引用Model,通過讀取web.config里的程序集,加載類的實例,返回給BLL使用; 
BLL層:引用Model,DAL; 
UI層:引用Model, BLL;

       方法是在資源管理器中右擊項目文件,添加引用。在彈出的對話框中選中項目標簽,選擇適當的類庫后點擊確定。然后再在項目文件中添加using “引用類的命名空間”。

        項目已經添加了引用,但仍然找不到指定類庫文件,可檢查: 
            1. 引用的項目中是否有語法錯誤,是否在頭文件中添加using “命名空間”; 
            2. 添加的類庫時,是否該類庫為public。

以上所述就是本文的全部內容了,希望大家能夠喜歡。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 天天操网 | 成人福利网 | 黄色成人在线观看视频 | 日韩精品极品视频在线观看免费 | 亚洲欧美福利视频 | 另类视频在线 | 欧美成人一区二区三区片免费 | 成人午夜视频在线播放 | 成人精品久久久 | 欧美日韩亚洲一区二区三区 | 精品国产欧美一区二区三区成人 | 亚洲精品久久久久久动漫 | 欧美一区二区三区在线观看视频 | 成人在线h | 日韩在线精品视频 | 人人叉人人 | 一区中文| 日韩91| 日本视频网 | 99久久久成人国产精品 | 精品一区二区三区成人精品 | 蜜桃臀一区二区三区 | 中文字幕在线免费 | 91性高湖久久久久久久久网站 | 精品综合久久 | 国产精品久久久久国产a级 成人a在线视频 | 国外精品久久久蜜桃免费全文阅读 | 精品婷婷 | 欧美精品一二三 | 99爱在线观看 | 中国一级黄色毛片视频 | 国产精品精品久久久 | 中文字幕在线一区 | 先锋av在线资源 | 欧美一区二区免费 | 精品国产青草久久久久福利 | 国产精品久久久久久久久福交 | 激情欧美一区二区三区 | 日韩电影免费在线观看中文字幕 | 色久视频 | 精品美女久久久 |