設(shè)計(jì)模式是人們?yōu)檐浖_(kāi)發(fā)中相同表征的問(wèn)題,抽象出的可重復(fù)利用的解決方案。在某種程度上,設(shè)計(jì)模式已經(jīng)代表了一些特定情況的最佳實(shí)踐。
按照模式的應(yīng)用目標(biāo)分類(lèi),設(shè)計(jì)模式可以分為創(chuàng)建型模式、結(jié)構(gòu)型模式和行為型模式。
創(chuàng)建型模式,是對(duì)對(duì)象創(chuàng)建過(guò)程的各種問(wèn)題和解決方案的總結(jié),包括工廠模式(Factory、Abstract Factory),單例模式(Singleton)、構(gòu)建器模式(Builder)、原型模式(Prototype)
結(jié)構(gòu)型模式,是針對(duì)軟件設(shè)計(jì)結(jié)構(gòu)的總結(jié),關(guān)注于類(lèi)、對(duì)象繼承、組合方式的實(shí)踐經(jīng)驗(yàn)。常見(jiàn)的結(jié)構(gòu)型模式,包括橋接模式(Bridge)、適配器模式(Adapter)、裝飾者模式(Decorator)、代理模式(Proxy)、組合模式(Composite)、外觀模式(Facade)、享元模式(Flyweight)等。
行為型模式,是從類(lèi)或?qū)ο笾g交互、職責(zé)劃分等角度總結(jié)的模式。策略模式(Strategy)、解釋器模式(Interpreter)、命令模式(Command)、觀察者模式(Observer)、迭代器模式(Iterator)、模板方法模式(Template Method)、訪問(wèn)者模式(Visitor)