适配器模式
适配器模式:包装模式
作为两个不兼容的接口之间的桥梁,结合了两个独立接口的功能。
适配器模式将一个类的接口转换成客户希望的另外一个接口;使得原本由于接口不兼容而不能在一起工作的那些类可以一起工作。
适配器继承或依赖已有的对象,实现想要的目标接口。
主要解决将一些现存的对象放到新的环境中,而新的环境要求的接口是现对象不能满足的。
在适配器模式中可以定义一个包装类,包装不兼容接口的对象,这个包装类指的是适配器,所包装的对象就是适配者(被适配的类)
适配器的实现就是把客户类的请求转化为对适配者的相应的接口的调用。
当客户类调用适配器的方法时,在适配器类的内部将调用适配者类的方法。
适配器可以使接口不兼容而不能交互的类可以一起工作。
适配器角色:目标Target、被适配者Adaptee、适配器Adapter
优点:1、目标和被适配者是完全解耦的,就是互相没有一点关系的。
2、满足“开闭--原则”
3、让两个没有关联的类一起运行
4、提高了类的复用性
5、灵活性好
缺点:过多使用适配器,会让系统非常凌乱。
适用:一个程序想使用已经存在的类,但该类所实现的接口和当前程序所使用的接口不一样。