不涉及继承体系,就是创建一个对象
- 单例:只能实例化一个,唯一的
- 原型:重写clone方法,副本
- 享元:对象池,字典,存在就获得,不存在就创建加入
利用继承体系、多态的前置
- 工厂方法:一个参数,一个继承体系(控制、决定实例化哪个对象)
- 抽象工厂:二个参数,二个继承体系,多的一个参数选体系(控制、决定实例化哪个对象)
- 建造者:多一个调用set方法的角色,实际上一般new(参数)就可以了
利用多态
- 桥梁:典型的组合+继承+多态,关注点在高层代码是抽象之间的交互
- 策略:典型的组合+继承+多态,关注点在于行为的变化
- 模板方法:联系表驱动法和一般形式的组合+继承+多态,这种主流程在基类
更多特殊利用多态
- 状态:类似策略,是双向关联,状态改变影响行为,电梯例子
- 命令:在策略的基础上多了一层组合,可以对命令打包,撤销、恢复
- 观察者:组合一组对象,执行动作时通知每个对象,发布-订阅
多个
- 迭代:实现Iterable接口,对象可遍历
- 组合:树、一致
- 责任链:链表形式,消息逐层传递,直到处理
减少交互
- 中介者
- 门面
包装
- 代理:继承了同一个类,用了要代理的功能,可能加一些
- 装饰:和代理很像,只是多种装饰,于是又多了一个继承体系
- 适配器:继承需要功能的类,实现适配的接口,将继承的方法在接口方法中调用
其他
- 解释器:语言、文法
- 访问者:
- 备忘录:记录、恢复、状态