三層架構在登入表單中再實現(二),三層表單
在上一篇部落格中介紹了自己學習的三層架構在登入表單中實現的過程,感覺自己略有所懂,時至今日才發現自己欠缺的東西還是很多的,自己的理解還是很不夠深入的。再次實現登入功能,不同的是自己用到了不同的語言——vb.net,只有在這個過程中才發現了自己真正的問題之所在:
一、儘管明白各層之間的調用關係,但是並不瞭解是具體如何調用,或者說是在調用什麼;
二、對於vb.net中的一些基礎知識還是有很多的欠缺的;
三、陌生的開發環境讓加上三層之間的切換讓自己有點暈頭轉向;
這就是自己在初期的真實感受,不過,經過自己的摸索、大家的協助和尋找資料,自己終於有了一點點撥開雲霧見天日的感覺,以下便是自己對三層的近一步瞭解。
**Model層
Model層也稱作實體層,主要是用來將一個個屬性值封裝起來,實現了資訊的複用,同時可以有效地避免sql注入的問題;
**D層
標中“一”所示,定義一個eUser實體,又來接收資料庫中的資訊,實現了對Model層的調用;
B層
標“一”所示,執行個體化D層,得到一個uDao對象;標“三”所示,實現了B層對D層QueryUser函數的調用;標“二”所示,定義一個實體層的參數,用於賦值;
U層
標“一”所示,定義了一個實體物件和實體參數,表徵圖“二”中實現了U層對B層UserLogin函數的調用;
總結起來,三層之間的調用就是在本層中執行個體化要調用層的類,得到的對象才可以實現對要調用層中屬性、方法的調用。
回過頭來看看自己登入的實現過程,一方面是由於自己對新知識的理解不夠到位;另一方面,也看得出來自己的功底還是不夠紮實的,三層之間的切換通過單步調式便可以很好地看到層與層之間是如何調用的,也許並不能夠瞭解具體的作用,但是他們之間是如何調用的還是能夠有所體會的;還有就是對於橋接器、dataset、datareader、預存程序等知識的不瞭解,這些都可以通過查資料解決。不過還好自己重新比較認真地做了一遍,或多或少都是有些收穫的,希望能對大家有所協助。如果對自己的代碼有需要,大家可以聯絡我(tl896288933@163.com),很期待彼此的交流!
用三層架構實現對登陸表單的操作,聯合資料庫
-- 登入的三層架構。。1、表現層:通俗講就是展現給使用者的介面,你設計的登陸介面 2、商務邏輯層:是對資料層的操作,對資料商務邏輯處理。判斷使用者名稱,寫進資料庫之類3、資料訪問層:該層所做事務直接操作資料庫,針對資料的增添、刪除、修改、更新、尋找等。。
2層架構與3層架構的比較?
1、簡單說client直接存取DBserver為兩層結構。
client通過中介軟體等應用伺服器訪問DBserver為三層結構。
三層結構比兩層結構安全。
2、可以這樣理解:用戶端程式訪問伺服器的結構叫兩層結構。中間加一個事務邏輯處理封裝的中介軟體作為溝通就是三層結構,這樣可以均衡資料負載!
3、拷貝一些基礎知識你看一下。(沒有圖片)
附:相關知識
現代社會的軟體開發體繫結構簡單概括就是N層體繫結構,這裡的N大於等於1。換而言之就是:單機體系(N=1)、Client/Server結構體系(N=2)、多層體繫結構(N>2)。下面我們就對這幾種體繫結構進行簡單的介紹和比較。
單機體系:這種軟體適用於單機狀態,一般情況下是針對某一種單一的應用,如字典軟體、翻譯軟體等等。這種開發方式不適用於綜合管理系統的開發。
C/S結構:c/s結構是在區域網路上發展起來的,它具有資料集中管理的能力,在出現之初確實解決了很多電腦發展的難題,同時隨著4GL語言的發展,使用者的介面也比較豐富,在CLIENT端的事物處理能力也使整個系統的效能得到全面的提高,並使管理資訊系統(MIS:Management Information System)得到快速的發展。其大概的圖例見圖1。
我們根據兩層結構體系的概念來分解C/S結構的話,可以將他分為表現層(也叫表達層)和資料層。資料層提供資料存放的載體,而表現層則通過一定技術將資料層中資料取出,進行一定的分析並以某一種格式向使用者進行顯示。在兩層體繫結構中,表現層對資料庫進行直接操作,且大部分的商業處理邏輯(Business Logic,資料之間的關係規則)也在表現層中實現.
圖1:Client/Server 體繫結構樣本
三層體繫結構:三層體繫結構是N層體繫結構的典型,所謂的三層體繫結構就是將原來在兩層體繫結構中的商業邏輯部分從資料層和表現層中提煉出來,形成中介軟體伺服器,所以三層就是:表現層、商業邏輯層(Business Logic)、資料層。在此之外,還有一種系統結構就是分布式系統,其結構系統圖見圖2。
圖2:分布式系統的結構
在分布式系統中,其介於用戶端和資料端之間的僅僅是一個應用伺服器,它管理用戶端的軟體,但不做效能調整,比如每一個用戶端調用時均產生一個新的資料庫連接,而不能夠將串連保持形成一個串連緩衝池。雖然在分布式應用中已經結合了一些商業處理邏輯,但是並沒有真正改變原來的C/S體繫結構。
在三層體繫結構中,表現層將主要提供與客戶的互動功能,資料層提供系統中的所有的資料儲存載體,而商業邏輯層將整個系統中的商業處理邏輯整和在一起,形成中介軟體,在三層中。中介軟體起了承前啟後的作用,表現層將用戶端的請求通過IDL調用中介軟體,中介軟體在將其轉化成資料處理原則,並從資料庫中獲得相應的資料,返回給用戶端的軟體,轉換成客戶要求的方式顯示。關於三層體繫結構的見圖3。
圖3:三層體繫結構
我們已經簡單的介紹了C/S結構和三層體繫結構,有關的優點已經昭然若揭,為了更好的讓您瞭解兩者的區別,我們將兩者進行一些比較。
C/S結構的缺點:
缺乏有效集權控制:在眾多的C/S軟體中我們不難看出,所有的構件不能夠在一個地點(如一台機器)進行統......餘下全文>>