23种设计模式可分类为:创建型、行为型、结构型
创建型模式(5种)
单:单例模式(Singleton)------全局唯一实例
工:工厂方法模式(Factory Method)------子类决定实例化
抽:抽象工厂模式(Abstract Factory)------创建产品族
建:建造者模式(Builder)------构建复杂对象
原:原型模式(Prototype)------通过拷贝创建对象
行为型模式(11种)
策:策略模式(Strategy)------封装可互换算法
中:中介者模式(Mediator)------减少对象间的直接耦合
责:责任链模式(Chain of Responsibility)------请求沿链传递直至被处理
观:观察者模式(Observer)------状态改变时自动通知
迭:迭代器模式(Iterator)------顺序访问集合元素
访:访问者模式(Visitor)------在不改变结构的前提下定义新操作
命:命令模式(Command)------请求封装为对象
备:备忘录模式(Memento)------保存并恢复状态
模:模板方法模式(Template Method)------定义算法骨架
状:状态模式(State)------状态改变行为随之变化
解:解释器模式(Interpreter)------定义语言的文法表示
结构型模式(7种)
外:外观模式(Facade)------为子系统提供统一接口
装:装饰者模式(Decorator)------动态添加职责
组:组合模式(Composite)------树形结构表示整体与部分
享:享元模式(Flyweight)------共享细粒度对象节省资源
代:代理模式(Proxy)------控制对象访问
适:适配器模式(Adapter)------转换接口以兼容协作
桥:桥接模式(Bridge)------抽象与实现分离