標籤:winform blog http strong io 檔案 資料 for
什麼是三層
所謂三層體繫結構,是在用戶端與資料庫之間加入了一個“中介層”,也叫商務邏輯層。這裡所說的三層體系,不是指物理上的三層,不是簡單地放置三台機 器就是三層體繫結構,也不僅僅有B/S應用才是三層體繫結構,三層是指邏輯上的三層,即把這三個層放置到一台機器上。三層體系的應用程式將商務規則、資料 訪問、合法性校正等工作放到了中介層進行處理。通常情況下,用戶端不直接與資料庫進行互動,而是通過中介層)(商務邏輯層)建立串連,再經由中介層與資料 庫進行互動。
如下:
1.使用者介面展示層(USL)
2.商務邏輯層(BLL)
3.資料訪問層(DAL)
圖片說明
為什麼要用三層:
我們用三層結構主要是使項目結 構更清楚,分工更明確,有利於後期的維護和升級。它未必會提升效能,因為當子程式模組未執行結束時,主程式模組只能處於等待狀態。這說明將應用程式劃分層 次,會帶來其執行速度上的一些損失。但從團隊開發效率角度上來講卻可以感受到大不相同的效果。
此種架構要在資料庫設計上注意表之間的關係,儘力滿足主與子的關係。在功能上對使用者要有一定的限制,不要表現在對於子表的刪除操作一定要謹慎,以免造成主表與子表的資料在邏輯上出現的主表的外鍵在子表中沒有相對應的值。
• 對於表的綜合查詢方法是:
先對主表查詢,調用主表所對應的DL。再根據主表的記錄分別對每一個子表進行查詢。將自表的查詢結果添加的主表後,形成一個大的查詢集合。
對於表的操作(增刪改):
此時只對主表進行操作,調用主表對應的DL中的操作方法。
RL層是邏輯判斷層,主要是對頁面上傳入的資料進行邏輯判斷。RL層之上就是UI
和傳統層次比較:
各層的作用
1:資料訪問層:主要是對未經處理資料(資料庫或者文字檔等存放資料的形式)的操作層,而不是指未經處理資料,也就是說,是對資料的操作,而不是資料庫,具體為商務邏輯層或展示層提供資料服務.
2:商務邏輯層:主要是針對具體的問題的操作,也可以理解成對資料層的操作,對資料商務邏輯處理,如果說資料層是積木,那邏輯層就是對這些積木的搭建。
3:展示層:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表現成:aspx,如果邏輯層相當強大和完善,無論表現層如何定義和更改,邏輯層都能完善地提供服務。
詳細介紹三層:
展示層
位於最外層(最上層),最接近使用者。用於顯示資料和接收使用者輸入的資料,為使用者提供一種互動式操作的介面。
商務邏輯層
業 務邏輯層(Business Logic Layer)無疑是系統架構中體現核心價值的部分。它的關注點主要集中在商務規則的制定、商務程序的實現等與業務需求有關的系統設計,也即是說它是與系統 所應對的領域(Domain)邏輯有關,很多時候,也將商務邏輯層稱為領域層。例如Martin Fowler在《Patterns of Enterprise Application Architecture》一書中,將整個架構分為三個主要的層:展示層、領域層和資料來源層。作為領域驅動設計的先驅Eric Evans,對商務邏輯層作了更細緻地劃分,細分為應用程式層與領域層,通過分層進一步將領域邏輯與領域邏輯的解決方案分離。
商務邏輯層在體系架構中的位置很關鍵,它處於資料訪問層與展示層中間,起到了資料交換中承上啟下的作用。由於層是一 種弱耦合結構,層與層之間的依賴是向下的,底層對於上層而言是“無知”的,改變上層的設計對於其調用的底層而言沒有任何影響。如果在分層設計時,遵循了面 向介面設計的思想,那麼這種向下的依賴也應該是一種弱依賴關係。因而在不改變介面定義的前提下,理想的分層式架構,應該是一個支援可抽取、可替換的“抽 屜”式架構。正因為如此,商務邏輯層的設計對於一個支援可擴充的架構尤為關鍵,因為它扮演了兩個不同的角色。對於資料訪問層而言,它是調用者;對於展示層 而言,它卻是被調用者。依賴與被依賴的關係都糾結在商務邏輯層上,如何?依賴關係的解耦,則是除了實現商務邏輯之外留給設計師的任務。
資料層
資料訪問層:有時候也稱為是持久層,其功能主要是負責資料庫的訪問,可以訪問資料庫系統、二進位檔案、文字文件或是XML文檔。
三層:
資料傳遞方向
優缺點說明
優點
1、開發人員可以只關注整個結構中的其中某一層;
2、可以很容易的用新的實現來替換原有層次的實現;
3、可以降低層與層之間的依賴;
4、有利於標準化;
5、利於各層邏輯的複用。
6、結構更加的明確
7、在後期維護的時候,極大地降低了維護成本和維護時間
缺點
1、降低了系統的效能。這是不言而喻的。如果不採用分層式結構,很多業務可以直接造訪資料庫,以此擷取相應的資料,如今卻必須通過中介層來完成。
2、有時會導致級聯的修改。這種修改尤其體現在自上而下的方向。如果在展示層中需要增加一個功能,為保證其設計符合分層式結構,可能需要在相應的商務邏輯層和資料訪問層中都增加相應的代碼。
3、增加了開發成本。
• 如何建立一個三層體繫結構解決方案
建立一個空白解決方案。然後:
“添加”-“建立項目”-“其他項目”-“企業級模版項目”-“C#產生塊”-“資料訪問”(資料層,下簡稱DLL層)
“添加”-“建立項目”-“其他項目”-“企業級模版項目”-“C#產生塊”-“商務規則”(業務層,下簡稱Bll層)
“添加”-“建立項目”-“其他項目”-“企業級模版項目”-“C#產生塊”-“Web使用者介面”(介面層,下簡稱UL層)
“添加”-“建立項目”-“其他項目”-“企業級模版項目”-“C#產生塊”-“封裝類”(業務層,下簡稱Model)
參考關聯性
原文地址:http://www.fuzhukeji.com/NewsShow.aspx?Nid=58
三層源碼下載及手把手輔導講解請訪問網址:http://shop107208952.taobao.com/shop/view_shop.htm?spm=686.1000925.0.0.Qe4l5J&mytmenu=mdianpu&utkn=g,ydxlri6mzyytsoby1407136945311&user_number_id=1074354962&scm=1028.1.1.20001
或者線上加qq聯絡:869011220 912791866