前面我已经讲过了创建型模式,即:工厂模式,抽象工厂模式,单件模式,原型模式,建造者模式。
创建型模式都是为了解决对象创建问题的。也就是说,如果你想避免将来为了创建一个你不曾考虑到的对象类型而发愁,就考虑创建型模式。
今天我试着说一下结构型模式。
结构型模式是为了解决怎么样组装现有的类,并设计他们的交互方式,从而实现一定的功能目的。同时,结构型模式包容了很多问题,例如扩展性(外观模式,组成模式,代理模式,装饰模式),封装性(适配器模式,桥接模式)。另外,flyweight模式为我们提供了一个解决大量对象实例占用资源的方案。
结构型模式中解决了以下几个问题
在不破坏类封装性的基础上,实现新的功能。这一点包括装饰模式,代理模式。
在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。这一点包括桥接和适配器模式。
创建对一组类的统一的访问访问接口,这是组成模式
对同一类,创建不同的访问界面,提供给不同需要的访问者,这是外观模式。
关键词:一番话--结构型模式