http://c.biancheng.net/view/1317.html
1吨灭、單一職責原則【SINGLE RESPONSIBILITY PRINCIPLE】:一個類負責一項職責.
2、里氏替換原則【LISKOV SUBSTITUTION PRINCIPLE】:繼承與派生的規(guī)則.
- 1.子類可以實現(xiàn)父類的抽象方法,但不能覆蓋父類的非抽象方法配喳。
- 2.子類中可以增加自己特有的方法。
- 3.當子類的方法重載父類的方法時欢嘿,方法的前置條件(即方法的形參)要比父類方法的輸入?yún)?shù)更寬松屎鳍。
- 4.當子類的方法實現(xiàn)父類的抽象方法時,方法的后置條件(即方法的返回值)要比父類更嚴格毙石。
一句話總結(jié):盡量不要重寫父類的已經(jīng)實現(xiàn)了的方法廉沮,可以用接口等其他方法繞過
3、依賴倒置原則【DEPENDENCE INVERSION PRINCIPLE】:
高層模塊不應該依賴低層模塊徐矩,二者都應該依賴其抽象滞时;
抽象不應該依賴細節(jié);
細節(jié)應該依賴抽象滤灯。
即針對接口編程坪稽,不要針對實現(xiàn)編程.
4曼玩、接口隔離原則【INTERFACE SEGREGATION PRINCIPLE】:建立單一接口,不要建立龐大臃腫的接口窒百,盡量細化接口黍判,接口中的方法盡量少.
5、迪米特法則【LOW OF DEMETER】:低耦合篙梢,高內(nèi)聚.
通俗的來講顷帖,就是一個類對自己依賴的類知道的越少越好。也就是說庭猩,對于被依賴的類來說窟她,無論邏輯多么復雜,都盡量地的將邏輯封裝在類的內(nèi)部蔼水,對外除了提供的public方法震糖,不對外泄漏任何信息。
6趴腋、開閉原則【OPEN CLOSE PRINCIPLE】:一個軟件實體如類吊说、模塊和函數(shù)應該對擴展開放,對修改關(guān)閉.
7优炬、組合/聚合復用原則【Composition/Aggregation Reuse Principle(CARP) 】:盡量使用組合和聚合少使用繼承的關(guān)系來達到復用的原則.