六大原則
單一職責(zé)原則
就一個類而言,應(yīng)該僅有一個引起它變化的原因幔荒。
開放封閉原則
類、模板梳玫、函數(shù)等應(yīng)該可以拓展,但是不可修改右犹。
里氏替換原則
所有引用基類(父類)的地方必須能透明地使用其子類對象提澎。
依賴倒置原則
高層模塊(調(diào)用端)不應(yīng)該依賴低層模塊(具體實現(xiàn)類),兩者都應(yīng)該依賴于抽象念链。抽象(接口或抽象類)不應(yīng)該依賴于細(xì)節(jié)(實現(xiàn)類)盼忌,細(xì)節(jié)應(yīng)該依賴于抽象。
迪米特原則(最少知識原則)
一個軟件實體應(yīng)當(dāng)盡可能少地與其他實體發(fā)生相互作用掂墓。類的解耦谦纱。
接口隔離原則
一個類對另一個類的依賴應(yīng)該建立在最小的接口上。
23種設(shè)計模式
GoF提出的設(shè)計模式共有23種君编,根據(jù) 目的準(zhǔn)則 分類跨嘉,分為三大類
- 創(chuàng)建型設(shè)計模式(5種)
- 單例模式、工廠方法模式吃嘿、抽象工廠模式祠乃、建造者模式、原型模式兑燥。
- 結(jié)構(gòu)型設(shè)計模式(7種)
- 適配器模型亮瓷、裝飾模式、代理模式降瞳、外觀模式嘱支、橋接模式、組合模式、享元模式除师。
- 行為型設(shè)計模式(11種)
- 策略模式沛膳、模板方法模式、觀察者模式馍盟、迭代器模式于置、責(zé)任鏈模式、命令模式贞岭、備忘錄模式八毯、狀態(tài)模式、訪問者模式瞄桨、中介者模式话速、解釋器模式。