軟件設計模式可以分為三大類,共23種。
1、創(chuàng)建型模式:包括單例模式、抽象工廠模式、建造者模式、工廠模式、原型模式。
2、結構型模式:包括適配器模式、橋接模式、裝飾模式、組合模式、外觀模式、享元模式、代理模式。
3、行為型模式:包括模板方法模式、命令模式、迭代器模式、觀察者模式、中介者模式、備忘錄模式、解釋器模式、狀態(tài)模式、策略模式、責任鏈模式、訪問者模式。
這些設計模式在不同的場景下都有其獨特的適用性和應用價值,根據(jù)具體需求選擇合適的設計模式可以大大提高軟件開發(fā)的效率和質量。
除了上述三大類,還有一些其他的分類方式,例如:
1、根據(jù)目的分類:
結構模式:用于處理類和對象組合的結構設計。
行為模式:用于處理對象之間的交互和對象行為的策略。
2、根據(jù)使用頻率分類:
常見模式:這些是日常開發(fā)中經(jīng)常使用的模式,如單例模式、工廠模式等。
不常見模式:這些模式可能在特定場景或特定項目中才會用到。
3、根據(jù)涉及面分類:
全局設計模式:這些模式涉及整個系統(tǒng)的架構和設計,例如分層架構、MVC架構等。
局部設計模式:這些模式涉及類或對象之間的交互和關系,例如工廠模式、觀察者模式等。
4、根據(jù)問題類型分類:
重復性問題解決模式:這些模式用于解決重復出現(xiàn)的問題,例如工廠模式、單例模式等。
特定問題解決模式:這些模式用于解決特定的問題或挑戰(zhàn),例如橋接模式、裝飾器模式等。
5、根據(jù)目的和結構分類:
創(chuàng)建型模式:這類模式的目的是處理對象的創(chuàng)建。例如,工廠模式、原型模式等。
結構型模式:這類模式的目的是處理類或對象的組合關系。例如,適配器模式、裝飾器模式等。
行為型模式:這類模式的目的是處理類或對象的行為和責任。例如,策略模式、觀察者模式等。
6、根據(jù)使用頻率分類:
常用模式:例如單例模式、工廠模式、代理模式等。
不常用或特殊場景下的模式:例如原型鏈模式、橋接模式等。
7、根據(jù)涉及面分類:
全局設計模式:影響整個系統(tǒng)的架構和設計的模式。例如,MVC(模型-視圖-控制器)架構、MVVM(模型-視圖-視圖模型)架構等。
局部設計模式:影響類或對象之間的交互和關系的模式。例如,觀察者模式、適配器模式等。