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