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