架構師的目的是為了什麼?----利他
第一個方面: 針對開發者(站在開發者角度進行軟體設計和開發)
第二個方面: 針對公司(站在公司角度進行軟體設計和開發)
第三個方面: 針對客戶(站在客戶角度進行軟體設計和開發)
我們要朝著這個方向努力。
內容一:單一職責原則
全稱:Single Responsibility Principle
縮寫:SRP
定義:就一個類而言,應該僅有的一個引起變化的原因。
通俗一點:一個類中應該是一組相關性很高的函式、函式封裝。
說白了模組劃分
案例:簡單圖片載入框架進行演示
內容二:開閉原則
全稱:Open Close Principle
縮寫:OCP
定義:對擴充套件是開放的,對修改是關閉的
案例:簡單圖片快取框架
內容三: 里氏替換原則
全稱:Liskov Substitution Principle
縮寫:LSP
定義:任何一個基類可以出現的地方,子類一定可以出現,並且不會產生任何錯誤(注意:必須是父子關係)
總結:
第一個注意:里氏替換原則核心就是抽象(繼承和介面) 每一個子類都會擁有父類的方法屬性。
第二個注意:開閉原則和里氏替換原則生死相依,通過里氏替換原則達到了對外開放,對修改關閉。
內容四:依賴導致原則
全稱:Dependence inversion Principle
縮寫:DIP
定義:高層次模組不依賴於低層次模組實現細節
A.高層次的模組不應該依賴於低層次的模組,他們都應該依賴於抽象。
B.抽象不應該依賴於具體實現,具體實現應該依賴於抽象。
通俗一點:說白了,依賴於抽象,不依賴於具體實現。
指導子類實現功能細節
內容五:介面隔離原則
全稱:Interface Segregation Principle
縮寫:ISP
定義:客戶端不應該依賴於它不需要的介面,一個類對另一個類的依賴應該建立在最小的介面上。
總結:將非常龐大、臃腫的介面拆分成更小的更加具體的介面
內容六:迪米特法則 (最少知道原則)
全稱:Law of Demeter(Least Knowledge Principle)
縮寫:LKP
定義:一個物件應該對其他的物件有最小的瞭解
內容七:設計原則總結
六大基本原則都是基於抽象(抽象類和介面)
總結一句話:要往這個方向靠攏