全部设计模式以及对应的例子
时间: 2023-08-11 19:01:14 浏览: 51
以下是Java中的23种设计模式及其对应的例子:
1. 创建型模式(Creational Patterns):
- 单例模式(Singleton Pattern):例如,全局配置类、日志记录器。
- 简单工厂模式(Simple Factory Pattern):例如,根据不同类型创建不同的图形对象。
- 工厂方法模式(Factory Method Pattern):例如,用于创建不同类型的数据库连接。
- 抽象工厂模式(Abstract Factory Pattern):例如,创建不同操作系统下的图形界面组件。
- 原型模式(Prototype Pattern):例如,用于创建和复制大对象。
- 建造者模式(Builder Pattern):例如,构建复杂的对象,比如汽车。
2. 结构型模式(Structural Patterns):
- 适配器模式(Adapter Pattern):例如,将不兼容的接口转换为客户端所期望的接口。
- 桥接模式(Bridge Pattern):例如,将抽象部分与实现部分分离,使它们可以独立变化。
- 组合模式(Composite Pattern):例如,树形结构的处理,如文件系统的目录和文件。
- 装饰器模式(Decorator Pattern):例如,动态地给对象添加额外的功能。
- 外观模式(Facade Pattern):例如,为复杂子系统提供一个简单接口。
- 享元模式(Flyweight Pattern):例如,共享大量细粒度的对象以减少内存占用。
3. 行为型模式(Behavioral Patterns):
- 策略模式(Strategy Pattern):例如,根据不同的算法选择合适的策略来解决问题。
- 观察者模式(Observer Pattern):例如,实现事件监听器,用于触发和处理特定事件。
- 模板方法模式(Template Method Pattern):例如,定义一个算法的框架,让子类实现具体细节。
- 命令模式(Command Pattern):例如,将请求封装成对象,使得可以用不同的请求对客户进行参数化。
- 责任链模式(Chain of Responsibility Pattern):例如,实现请求的发送者和接收者之间的解耦。
- 状态模式(State Pattern):例如,根据对象内部状态的改变来改变它的行为。
- 访问者模式(Visitor Pattern):例如,访问对象结构中不同类型的元素并执行相应操作。
4. 并发型模式(Concurrency Patterns):
- 单例模式(Singleton Pattern):例如,在多线程环境下保证只有一个实例被创建。
- 享元模式(Flyweight Pattern):例如,共享对象以减少内存占用和线程同步开销。
这些设计模式可以帮助开发者解决不同类型的问题,并提供了可复用、灵活和可扩展的解决方案。