一般一個系統包括架構模式、設計模式、軟件框架等。一般一個系統包括架構模式、設計模式、軟件框架等。設計模式是在解決問題的過程中,一些良好思路的經驗集成,常見的是GoF 23種設計模式。GoF 23種設計模式的一些指導設計原則:
軟件系統架構圖?1、開閉原則(OCP):一個軟件實體應當對擴展開放,對修改關閉。“抽象化”是OCP的關鍵。
2、里氏代換原則(LSP):在一個軟件系統中,子類應該可以替換任何基類能夠出現的地方,并且經過替換以后,代碼還能正常工作。“繼承”是LSP的關鍵。
3、依賴倒轉原則(DIP):要依賴于抽象,不要依賴于具體。或者說是:要針對接口編程,不要對實現編程。“規范抽象”是DIP的關鍵。
4、接口隔離原則(ISP):使用多個專門的接口比使用單一的總接口要好。也就是說,一個類對另外一個類的依賴性應當是建立在最小的接口上的。“多重繼承”是ISP的關鍵。
5、組合/聚合復用原則(CARP):在一個新的對象里面使用一些已有的對象,使之成為新對象的一部分:新的對象通過向這些對象的委派達到復用已有功能的目的。“組合/聚合”是CARP的關鍵。
聚合:指的是整體與部分的關系。通常在定義一個整體類后,再去分析這個整體類的組成結構。從而找出一些組成類,該整體類和組成類之間就形成了聚合關系。例如一個航母編隊包括海空母艦、驅護艦艇、艦載飛機及核動力攻擊潛艇等。
組合:也表示類之間整體和部分的關系,但是組合關系中部分和整體具有統一的生存期。一旦整體對象不存在,部分對象也將不存在。部分對象與整體對象之間具有共生死的關系。
6、迪米特法則(LoD):又叫作最少知識原則(Least Knowledge Principle 簡寫LKP),就是說一個對象應當對其他對象有盡可能少的了解,不和陌生人說話。“傳遞間接的調用”是LoD的關鍵。
關于GoF 23種設計模式的內容可以參考《深入淺出設計模式》這本書籍。