1.單一職責(zé)原則
2.開(kāi)閉原則
面對(duì)修改是封閉的肪虎,面對(duì)擴(kuò)展是開(kāi)放的稿静。
3.里氏替換原則
只要父類能出現(xiàn)的地方创葡,子類就能出現(xiàn)创肥,主要體現(xiàn)就是 繼承 和 實(shí)現(xiàn)
4.依賴倒置原則
高層次模塊不依賴低層次模塊的細(xì)節(jié),而是依賴低層次模塊的抽象
public class test {
IHttp http;//低層次模塊的抽象瞎访,而不是細(xì)節(jié)腻贰。!0墙铡银受!
public void setHttp(IHttp http) {
this.http = http;
}
public interface IHttp {
void get();
}
class OKHttp implements IHttp {
@Override
public void get() {
}
}
class XUtils implements IHttp {
@Override
public void get() {
}
}
}
5.接口隔離原則
類間的依賴關(guān)系應(yīng)該建立在最小的接口上,接口隔離原則把臃腫的接口拆分成更小更具體的接口鸦采。
但是接口不能拆分的過(guò)于細(xì)致,以免接口泛濫咕幻。
6.迪米特原則(最少知識(shí)原則)
一個(gè)對(duì)象應(yīng)該對(duì)其他對(duì)象有最少的了解渔伯,通俗的說(shuō),一個(gè)類應(yīng)該對(duì)自己需要耦合或調(diào)度的類 知道的最少