三层架构---理论篇
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? What is it??
? ? ?? 每當我們接觸一個新名詞,首先要問問自己“它是什么”,這樣才會有更強烈的好奇心與求知欲去弄明白它。
? ? ?? 三層架構,由它的名字通俗易懂的理解就是三個層次的結構。那么,在我們的軟件體系架構設計中,三層架構是指什么呢?通常就是指將整個業務劃分為三層:界面層(User Interface layer)、業務邏輯層(Business Logic Layer)、數據訪問層(Data access layer)。
? ? ? ? 數據訪問層:它在整個業務中的作用就是訪問數據系統中的文件,直接與數據庫打交道,實現對數據庫中數據的增刪改查操作,也就是SQL語句的拼接需要在這一層完成。
? ? ? ? 業務邏輯層:它的主要作用就是將用戶輸入的信息進行判斷,然后進行甄別處理。也就是我們在編碼過程中常用的 if-else 判斷需要在這里完成。
? ? ? ? 顯示層:它的主要功能就是接收用戶傳輸的數據和顯示數據,直接與用戶打交道,可以在系統運行時提供人機交互式的操作界面。接收用戶的輸入信息和顯示數據業務需要在這一層完成。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? Why are we using it? ? ? ? ? ? ? ?
? ? ? ? 在這之前的項目中沒有應用架構,確切的說是不知道有這個東西,程序依然可以跑起來。既然如此,我們為什么還要使用三層架構呢?是它更簡單、更容易還是其他的什么原因呢? 這就需要我們了解一下三層架構有哪些特點了,或者是應用三層架構設計軟件系統,有哪些好處。
? ? ? ? 應用三層架構,最根本的目的就是合理設計軟件系統模塊,把握面向對象編程的思想-----高內聚低耦合。區分層次的目的就是為了實現“高內聚低耦合”的思想,降低層與層之間的依賴。三層架構軟件系統為用戶的數據傳輸、提取、存儲創造了條件。在應用數據時,信息劃分架構開發項目,對各層之間的工作職責進行清晰地規劃,這樣就降低了軟件系統的維護風險。具體來說,它有以下的優點:
? ? ?? 1、開發人員根據業務需求,可以只關注整個結構中其中一層。
? ? ?? 2、可以很容易的用新需求的實現來替換原有層次的實現。
? ? ?? 3、降低層與層之間的依賴。
? ? ?? 4、有利于標準化。
? ? ?? 5、有利于各層邏輯的復用。
? ? ?? 6、結構更加的明確。
? ? ?? 7、有利于后期維護 和升級。在軟件的后期維護過程中,能降低維護時間和成本。
? ? ?? 8、避免顯示層直接訪問數據層,顯示層只和邏輯層直接相關,提高了數據的安全性。
? ? ?? 9、有利于系統的分散開發,團隊協作,每一層可以由團隊中不同的成員來開發,很好的提高了系統的開發速度。
? ? ?? 10、為系統的移植提供了方便。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? How do we use it?
? ? ? ? 既然分層架構有這么多的好處,在我們開發過程中當然是離不開它了。以前的小型項目中,根據用戶輸入的信息可以直接訪問數據,而現在需要經過一個中間層。那如何實現數據的傳輸呢?依靠參數。參數實現了用戶輸入的數據與各層之間數據的傳輸。在這里我們還需要一個實體層。在實體層中定義數據庫中的字段,為保護字段,我們要設置相應的屬性,依靠屬性進行數據的傳遞。如果僅滿足這些條件,是不是就能實現業務需求了呢?No。僅把這些層創建出來,它們之間本沒有直接的聯系,那如何將它們之間形成聯系呢?這就需要我們給它們添加引用了。
? ?? 這三層之間的引用關系,都是引用與 它直接相關的那一層。D層引用實體層,B層引用D層,U層引用B層;在B層和U層中,由于都需要使用實體,所以也將實體層進行引用。這樣各層之間就有了一定的聯系了,形成一個整體的架構,不是孤立的某一層了。
?
本文簡要介紹了一下三層架構,理論知識是實踐的基礎。下一篇博客小編將為您帶來應用三層架構的小實例。通過實例,進一步理解各層的作用,參數是如何傳遞的,三層是如何實現業務需求的。
?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的三层架构---理论篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#中的集合、哈希表、泛型集合、字典
- 下一篇: 三层架构-----实践篇-登录小实例