设计模式学起来还是比较枯燥的,毕竟每种模式之间没有什么关联。单个模式如果不结合实例也抽象难懂。整理了下不同语言的设计模式讲解和实现,都是我个人认为很好的学习资料。
下表的设计模式排序按照 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素) 中的顺序:总共有 23 种设计模式。这些模式可以分为三大类:创建型模式(Creational Patterns)、结构型模式(Structural Patterns)、行为型模式(Behavioral Patterns)。
设计模式 | C++源码 | Java源码 PHP视频 | |
创建型 | 工厂模式(Factory Pattern) | 简单工厂 工厂方法 | 工厂视频 |
抽象工厂模式(Abstract Factory Pattern) | 抽象工厂 | ||
单例模式(Singleton Pattern) | 单例 | 单例视频 | |
建造者模式(Builder Pattern) | 建造者 | ||
原型模式(Prototype Pattern) | 原型 | ||
结构型 | 适配器模式(Adapter Pattern) | 适配器 | |
桥接模式(Bridge Pattern) | 桥接 | ||
过滤器模式(Filter、Criteria Pattern) | |||
组合模式(Composite Pattern) | 组合 | ||
装饰器模式(Decorator Pattern) | 装饰者 | 装饰视频 | |
外观模式(Facade Pattern) | 外观 | ||
享元模式(Flyweight Pattern) | 享元 | ||
代理模式(Proxy Pattern) | 代理 | 代理视频 | |
行为型 | 责任链模式(Chain of Responsibility Pattern) | 责任链 | |
命令模式(Command Pattern) | 命令 | ||
解释器模式(Interpreter Pattern) | |||
迭代器模式(Iterator Pattern) | |||
中介者模式(Mediator Pattern) | 中介者 | ||
备忘录模式(Memento Pattern) | 备忘录 | ||
观察者模式(Observer Pattern) | 观察者 | ||
状态模式(State Pattern) | |||
空对象模式(Null Object Pattern) | |||
策略模式(Strategy Pattern) | 策略 | 策略视频 | |
模板模式(Template Pattern) | 模板方法 | ||
访问者模式(Visitor Pattern) | 访问者 |