三層(似曾相識)
前言
在看視訊之前已經查詢過部落格,瞭解了一下三層是什麼,看完視訊之後對三層的理解更深了一步,並且很喜歡這個詞。那麼什麼是三層呢?為什麼要學三層呢?三層都是哪三層?
三層
what?
三層
三層架構就是將應用劃分為介面層(user interface layer),業務邏輯層(business logic layer),資料訪問層(data access layer)。在軟體體系架構設計中,分層結構是最常見,也是最重要的一種結構。
三層的劃分:
物理:
- 顯示層(使用者至上,儘量簡潔)
- 業務層
- 資料層
邏輯:
- UI——–不能直接跟DAL打交道
- BLL—–需要引用資料層
- DAL/DB—-拿機房系統來說,只需要負責驗證登陸密碼即可(資料庫操作)
why?
什麼情況下使用三層?
當業務複雜到一定程度上,當資料儲存到達一個獨立的儲存介質後
目的是什麼?
為了“高內聚低耦合”的思想,也就是為了實現我們的迪米特法則(LOD)
優缺點:
優點:
- 降低了層與層之間的依賴;
- 標準化;
- 利於各層邏輯的複用;
- 降低了維護成本和時間
缺點:
- 系統架構複雜,不適合小型專案,
- 降低了系統的效能(中間層的“中介”)
- 增加了開發成本
思維導圖
二層與三層
舉個栗子:
我們之前做過機房收費系統,裡面分為三塊:學生,操作員,管理員。
有些事務是可以學生直接找管理員的,比方說交費。這時候沒有操作員這個媒介,就是二層;
但是當學生多了,管理員可能就會迷糊了,不知道誰交費,誰沒交,這個時候“中間層“操作員出來了,學生可以通過操作員完成這個請求,而“資料層”管理員也不會因為任務量大而亂套了。只需要最後將結果返回”中間層“操作員,讓操作員將結果告知”顯示層“學生即可。拿我們的宿舍和酒店舉例。宿舍是常住,而且人員都是固定的,沒有那麼繁瑣的請求入住;而酒店則每天人來人往不同,時間人物需求都不同。所以宿舍就是人(顯示層)和住宿(資料層)直接關聯,也就是二層;而酒店則是人(顯示層)與服務員(邏輯層)溝通,服務員操作程式(資料層)再告知客戶有沒有空房,以完成入住。
後記
三層是一個常用的架構。以後用於實踐中,體會會更深的吧;
初步瞭解,只是相識~
相關文章
- 3月書訊:最美的遇見是似曾相識
- 那些令程式設計師崩潰的瞬間!是不是你也似曾相識?程式設計師
- 似曾相識,卻值得刷屏的視覺盛宴 --- 電影《終結者:黑暗命運》觀後感視覺
- 信管知識梳理(三)軟體工程相關知識軟體工程
- spring框架中三層架構相關的註解Spring框架架構
- python三層全連線層實現手寫字母識別方式Python
- 從三個層面認識SRAM儲存器
- InnoDB 層壓縮相關字典表 | 全方位認識 information_schemaORM
- Kotlin知識歸納(三) —— 頂層成員與擴充套件Kotlin套件
- WEB層知識點Web
- 相機成像相關知識總結
- 應用層相關協議分析協議
- .net相關知識
- Shell相關知識
- RPM相關知識
- 培養IT管理層的“精益意識”,要從這三個方面入手!
- 三層架構理解架構
- 物理層知識點提要
- 初識LinkedList底層原理
- 從“老三層”到“新三層” 戴爾超融合全面升級
- /proc的相關知識
- redis相關知識點Redis
- Git相關知識點Git
- 音訊相關知識音訊
- Redis的相關知識Redis
- SSL相關知識科普
- Elasticsearch——search相關知識Elasticsearch
- 初相識 | 全方位認識 information_schemaORM
- 80頁PPT圖文詳解三相非同步電機,漲知識!非同步
- 三層switch轉一層switch的處理方法
- MVC 與三層架構MVC架構
- 初相識 | 全方位認識 sys 系統庫
- CT校正相關知識整理
- CAP 與 Raft 相關知識Raft
- 認識單相變壓器
- 我與Linux的相識之旅Linux
- 智慧車牌識別相機
- RTMP協議相關知識協議