1.abstract-oriented
面向抽象原則
我的理解就是把程序的功能抽象成接口,面向接口編程。
2.open-close principle
開-閉原則
讓設計對擴展開發,對修改關閉。
如果針遵守開閉原則,那么這個設計一定是易于維護,因為增加新模塊的時候,不必更改核心模塊
3.多用組合,少用繼承
方法復用有兩種技術,一種是繼承,另一種組合。
繼承的缺點:
1.子類和父類是強耦合關系,父類發生變化,可能會導致子類發生變化。
2.無法在運行期間改變從父類繼承的方法的行為。
3.是一種白盒復用
組合是把其它類作為一個成員變量構成自己的組成部
組合的優點:
1.是一種黑盒復用
2.在運行期間可以動態指定包含的對象
4.高內聚,低耦合-
內聚是指內容相關的行為放在一個類里。就是一個類應該有自己應該具備的功能。
耦合是指類與類之間的相交。
這樣做的好處是修改系統的不部份功能,不至于影響其它部份。