在進行重構的時候,對於七層懵懵懂懂,並不知曉分層的意義。
隨著實踐的推移,有了新的理解,與大家分享。
按照實際需求來講,我們**的架構分為ubd三層就夠了,其他的層是為了輔助這三層而產生的。
u層,即介面層。用於直接展示給使用者的一層,是軟體與使用者交流最直接的一層。u層的作用是接受使用者給出的資料,並將相關資料傳給b層,呼叫b層的函式,接收返回值並給出相關提示的一層。u層可以進行判斷,但不進行「業務邏輯」判斷,關於有關業務邏輯判斷的處理,呼叫b層函式,交給b層處理。
b層,即業務邏輯層。作用於u層和d層之間。b層的作用是接受u層的資料,根據業務要求,呼叫d層的函式,用於完成對資料庫和業務相關的操作,將操作的結果返回給u層。其實來講,業務邏輯層才是程式的靈魂所在,是程式完成操作的加工廠。
就相當於乙個服裝廠,客戶給公司(u層)下了個訂單,公司讓車間(b層)加工服裝。但是加工服裝需要原材料,車間(b層)就向倉庫管理員(d層)提出要求,倉庫管理員從倉庫(資料庫)拿走原材料,交於車間加工。車間加工完畢後,將服裝交由公司,公司再交付給客戶。
d層,即資料訪問層。作用於三層架構(即u-b-d架構)的最底層。d層的作用是接受b層傳進來的資料,並根據b層的需求對資料庫進行各種各樣的操作,返回或不返回資料。
entity層,即實體層。實體層的存在實際上主要是用來輔助傳值的。實體層的好處是在傳值和返回值的時候,能夠用乙個實體,代替一堆資料,便於其他開發和維護人員理解**邏輯,也能一定程度上避免了變數的冗餘,且能減少記憶體的開銷。
實體層實際上是建立乙個專門使用者臨時儲存資料,用於進行資料傳輸的類,稱為實體。在乙個實體內,存放多個屬性。屬性內容基本與資料庫相關表的屬性一致。
①.資料庫:
②實體層:
facade層,即外觀層。外觀層在u層和b層之間,用於整合業務邏輯,提供乙個統一的入口。
打個比方來講外觀層。假定我們設計的系統有登陸功能。登陸要求驗證有無該使用者,賬號密碼是否正確,是否已經登陸;忘記密碼;自動登入等項,那麼我們就需要在b層中寫相關的判定和功能。在這種情況下,我們從u層只呼叫b層的乙個函式來實現以上功能怕是有點難度了。加入外觀層,就是u層呼叫外觀層的函式,外觀層再去具體呼叫b層的函式。這樣就隔離開了u層與b層的直接聯絡,也是迪公尺特法則的體現。
factory層,即工廠層,詳見設計模式——抽象工廠+反射。
idal層,即介面層。根據b層為d層提供了函式標準。並且借助工廠層,讓b層呼叫d層的函式。
初識七層架構
經過半個月的薰陶,終於用七層架構實現了機房收費系統的登入功能,在此把學習中遇到的心得和大家分享下,希望能幫助到大家。這是當年師傅指導時畫的機房收費系統七層架構圖紙,看著別暈,我理解了半個月才剛有點頭緒。開始的時候,我們不能一下實現這麼多層,那我們就從簡單的入手。第一版只有三層 ui 介面層 bll ...
初識七層架構
經過半個月的薰陶,終於用七層架構實現了機房收費系統的登入功能,在此把學習中遇到的心得和大家分享下,希望能幫助到大家。這是當年師傅指導時畫的機房收費系統七層架構圖紙,看著別暈,我理解了半個月才剛有點頭緒。開始的時候,我們不能一下實現這麼多層,那我們就從簡單的入手。第一版只有三層 ui 介面層 bll ...
網路七層架構
我將從各層協議與裝置學起,各層從上到下 1 應用層 應用層主要包括應用程式之間的通訊所用協議,包括telnet,http,ftp,nfs,smtp等。裝置就是終端裝置了 2 表示層 3 會話層 4 傳輸層 5 網路層 三層交換機就是具有部分路由器功能的交換機,三層交換機的最重要目的是加快大型區域網內...