一。享元模式
享元模式通过让客户类修改一个已存在的对象,然后作为新对象使用,使得系统中对象的数量得以减少。享元模式通常使用一个map容器存储内部状态不同的对象(待修改对象),并且以内部状态作为key,使用时根据key从容器里取出对象返回给客户类,若对象不存在则用key创建一个对象存入容器后再返回给客户类。内部状态是对象中可共享出来的信息不会随环境而改变。享元模式在使用的时候要注意线程安全问题,避免容器中出现内部状态相同的对象;以及作为key的真实类型选取不当造成的性能下降问题,应尽量使用基本类型作为key。
二。桥梁模式
将两个类间原本继承的关系转化为聚合关系,使得“父类”(Implementor或底层)和“子类”(Abstraction或高层)可以独立的变化,这就是桥梁模式。