总结
# 总结
创建型模式(Creational Patterns)
单例(Singleton)模式:保证一个对象
原型(Prototype)模式:快速克隆一个自己
工厂方法(FactoryMethod)模式
- 简单工厂(一个方法):if-else 判断创建对象。
- 工厂方法(多个方法):每个产品一个方法就行
抽象工厂(AbstractFactory)模式:很多工厂 + 很多方法
建造者(Builder)模式:每个一建造细节都可以传入,但是都不是必须的,如果是必须就改造前强制
结构型模式(Structural Patterns)
- 适配器(Adapter)模式:连接两个不同接口
- 桥接(Bridge)模式:连接同一个东西的两个不同维度
- 代理(Proxy)模式:动态代理 + cglib
- 装饰(Decorator)模式:静态代理 = 装饰。被装饰的对象传入
- 外观 / 门面(Facade)模式:把多个类的多个方法,合成到一个类里面引用
- 享元(Flyweight)模式:将原对象通过池技术共享
- 组合(Composite)模式:a 里面属性有 b(a)对象就是组合
- 过滤器模式(Filter Pattern)
行为型模式(Behavioral Patterns)
- 模板方法(Template Method)模式:父类定义了一个方法,里面调用了一堆小方法步骤。小方法步骤子类实现即可。
- 策略(Strategy)模式:每一种算法封装成一个策略。别人 --》策略对象。方法调用 ()
- 命令(Command)模式:Controller、Service、Dao
- 职责链(Chain of Responsibility)模式:Filter、维护链条 + 游标 + 递归
- 状态(State)模式:和策略很像,状态要维护状态流转
- 观察者(Observer)模式:把所有观察者 List 起来,然后 foreach 调用
- 中介者(Mediator)模式:所有类都引入一个类的对象,通过这个一个对象调用
- 迭代器(Iterator)模式:自定义遍历算法。自己本类的迭代器遍历自己本类里面的集合
- 访问者(Visitor)模式:小爱机器人,cpu、disk 能要被升级包升级
- 备忘录(Memento)模式:把复杂对象的关键属性抽取出来进行保存
- 解释器(Interpreter)模式:语法分享,大解析器组合了很多小解析器,进行语法解析
编辑 (opens new window)
上次更新: 2025/01/01, 10:09:39