架構(gòu)師的目的是為了什么?----利他
針對開發(fā)者(站在開發(fā)者角度進(jìn)行軟件設(shè)計和開發(fā))
針對公司(站在公司角度進(jìn)行軟件設(shè)計和開發(fā))
針對客戶(站在客戶角度進(jìn)行軟件設(shè)計和開發(fā))
單一職責(zé)原則
全稱:Single Responsibility Principle
縮寫:SRP
定義:就一個類而言,應(yīng)該僅有的一個引起變化的原因。
通俗一點:一個類中應(yīng)該是一組相關(guān)性很高的函數(shù)、函數(shù)封裝。
說白了模塊劃分
案例:簡單圖片加載框架進(jìn)行演示
開閉原則
全稱:Open Close Principle
縮寫:OCP
定義:對擴(kuò)展是開放的,對修改是關(guān)閉的
案例:簡單圖片緩存框架
里氏替換原則
全稱:Liskov Substitution Principle
縮寫:LSP
定義:任何一個基類可以出現(xiàn)的地方,子類一定可以出現(xiàn),并且不會產(chǎn)生任何錯誤(注意:必須是父子關(guān)系)
總結(jié):
第一個注意:里氏替換原則核心就是抽象(繼承和接口) 每一個子類都會擁有父類的方法屬性。
第二個注意:開閉原則和里氏替換原則生死相依,通過里氏替換原則達(dá)到了對外開放,對修改關(guān)閉。
依賴導(dǎo)致原則
全稱:Dependence inversion Principle
縮寫:DIP
定義:高層次模塊不依賴于低層次模塊實現(xiàn)細(xì)節(jié)
A.高層次的模塊不應(yīng)該依賴于低層次的模塊,他們都應(yīng)該依賴于抽象。
B.抽象不應(yīng)該依賴于具體實現(xiàn),具體實現(xiàn)應(yīng)該依賴于抽象。
通俗一點:說白了,依賴于抽象,不依賴于具體實現(xiàn)。
指導(dǎo)子類實現(xiàn)功能細(xì)節(jié)
接口隔離原則
全稱:Interface Segregation Principle
縮寫:ISP
定義:客戶端不應(yīng)該依賴于它不需要的接口,一個類對另一個類的依賴應(yīng)該建立在最小的接口上。
總結(jié):將非常龐大、臃腫的接口拆分成更小的更加具體的接口
迪米特法則 (最少知識原則)
全稱:Law of Demeter(Least Knowledge Principle)
縮寫:LKP
定義:一個對象應(yīng)該對其他的對象有最小的了解
總結(jié)