一、單一職責(zé)原則【SINGLE RESPONSIBILITY PRINCIPLE】:一個(gè)類負(fù)責(zé)一項(xiàng)職責(zé)。
二、里氏替換原則【LISKOV SUBSTITUTION PRINCIPLE】:繼承與派生的規(guī)則。
三、依賴倒置原則【DEPENDENCE INVERSION PRINCIPLE】:高層模塊不應(yīng)該依賴低層模塊,二者都應(yīng)該依賴其抽象;抽象不應(yīng)該依賴細(xì)節(jié);細(xì)節(jié)應(yīng)該依賴抽象。即針對(duì)接口編程,不要針對(duì)實(shí)現(xiàn)編程。
四、接口隔離原則【INTERFACE SEGREGATION PRINCIPLE】:建立單一接口,不要建立龐大臃腫的接口,盡量細(xì)化接口,接口中的方法盡量少。
五、迪米特法則【LOW OF DEMETER】:低耦合,高內(nèi)聚。
六、開閉原則【OPEN CLOSE PRINCIPLE】:一個(gè)軟件實(shí)體如類、模塊和函數(shù)應(yīng)該對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉。
七、組合/聚合復(fù)用原則【Composition/Aggregation Reuse Principle(CARP) 】:盡量使用組合和聚合少使用繼承的關(guān)系來(lái)達(dá)到復(fù)用的原則。