架構師

kpioneer123發表於2017-12-13

 架構師的目的是為了什麼?----利他

第一個方面: 針對開發者(站在開發者角度進行軟體設計和開發)

第二個方面: 針對公司(站在公司角度進行軟體設計和開發)

第三個方面: 針對客戶(站在客戶角度進行軟體設計和開發)

我們要朝著這個方向努力。

內容一:單一職責原則

全稱: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

定義:一個物件應該對其他的物件有最小的瞭解

內容七:設計原則總結

六大基本原則都是基於抽象(抽象類和介面)

總結一句話:要往這個方向靠攏

相關文章