GOF23设计模式划重点

 

1.创建型模式:

*工厂模式(Factory Pattern):对象的创建

抽象工厂模式(Abstract Factory Pattern)

*单例模式(Singleton Pattern):springBean中对象的单例

建造者模式(Builder Pattern):成员对象的创建和组装分离:StringBuilder类的append方法、SQL中的PrepareStatement方法

*原型模式(Prototype Pattern):对象的复制:springBean中对象的原型

2.结构型模式

*适配器模式(Adapter Pattern):字节流转字符流:new InputStreamReader(InputStream)

*桥接模式(Bridge Pattern):解决多继承,将多继承转换为多维度组合

过滤器模式(Filter、Criteria Pattern)

*组合模式(Composite Pattern):处理树形结构,如操作系统的资源管理器、组织结构的处理、xml文件解析

*装饰器模式(Decorator Pattern):IO流

*外观模式(Facade Pattern):工具类封装,便于别人调用,如JDBC工具类封装

*享元模式(Flyweight Pattern):对象共享不变的变量、节省内存:线程池、数据库连接池、String类的常量池

*代理模式(Proxy Pattern):动态代理spring中的AOP实现

3.行为型模式

*责任链模式(Chain of Responsibility Pattern):一个try对应多个catch、servlet中多个过滤器的链式处理

*命令模式(Command Pattern):数据库事务机制(批量命令要么全部执行,要么全部不执行)

解释器模式(Interpreter Pattern)

*迭代器模式(Iterator Pattern):集合的遍历

*中介者模式(Mediator Pattern):MVC模式中的controller就是一个中介,model和view都通过controller打交道

*备忘录模式(Memento Pattern):撤销操作、事务回滚

*观察者模式(Observer Pattern):servlet监听器

状态模式(State Pattern):酒店预订状态改变

空对象模式(Null Object Pattern)

策略模式(Strategy Pattern):crm系统中根据不同的用户进行不同的打折策略

*模板模式(Template Pattern):封装不变的方法:数据库访问的封装、Junit单元测试、servlet关于doGet/doPost方法调用

访问者模式(Visitor Pattern)

你可能感兴趣的:(GOF23设计模式划重点)