高併發系統設計一-架構分層

隨着業務越來越複雜,大量的代碼糾纏在一起,會出現邏輯不清晰、各模塊相互依賴、代碼擴展性差、改動一處就牽一髮而動全身等問題

1、常見的分層

1.1、MVC

將用戶視圖和業務處理隔離開,並且通過控制器連接起來,很好的實現了表現和邏輯的解耦。

1.2、另一種分層

  • 表現層,顧名思義嘛,就是展示數據結果和接受用戶指令的,是最靠近用戶的一層
  • 邏輯層裏面有複雜業務的具體實現
  • 數據訪問層則是主要處理和存儲之間的交互。

1.3 其他分層思想

OSI 網絡模型,分爲 7 層,從下到上:物理層、數據鏈路層、網絡層、傳輸層、會話層、表現層、應用層。

TCP/IP 協議,它把網絡簡化成了四層,即鏈路層、網絡層、傳輸層和應用層

2、分層有什麼好處?

  • 分層的設計可以簡化系統設計,讓不同的人專注做某一層次的事情。
  • 分層之後可以做到很高的複用
  • 分層架構可以讓我們更容易做橫向擴展
  • 單一職責原則規定每個類只有單一的功能,在這裏可以引申爲每一層擁有單一職責,且層與層之間邊界清晰;

  • 迪米特法則原意是一個對象應當對其它對象有儘可能少的瞭解,在分層架構的體現是數據的交互不能跨層,只能在相鄰層之間進行;

  • 而開閉原則要求軟件對擴展開放,對修改關閉。它的含義其實就是將抽象層和實現層分離,抽象層是對實現層共有特徵的歸納總結,不可以修改,但是具體的實現是可以無限擴展,隨意替換的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章