标签:col 通过 活性 public 问题 其他 抽象 状态 通用
适配器模式的定义如下:将一个类的接口变换为客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。适配器模式又叫变压器模式、包装器模式。
适配器通常包含三个角色:
现在来看看通用示例代码:
//目标角色 public interface Target{ public void request(); }
目标角色是一个已经正在运行的角色,你不可能去修改角色中方法,能做的只是去实现接口中的方法,而且通常情况下,目标角色是一个接口或抽象类,一般不会是一个实现类。
下面是一个正在运行的目标角色:
//目标角色的实现类 public class ConcreateTarget implements Target{ public void request(){ } }
下面是一个源角色,也是正在服役状态,它是一个正常的类:
public class Adaptee{ //原有的业务逻辑 public void doSomething(){ } }
核心角色出场了,那就是适配器角色:
//这里是继承的方式,如果有多个源对象怎么办?对了,可以改成组合的方式!
public class Adapter extends Adaptee implements Target{ public void request(){ super.doSomething(); } }
场景类:
public class Client{ public static void main(String[] args){ //原有的业务逻辑 Target target = new ConcreateTarget(); target.request(); //增加了适配器之后的业务逻辑 Target target2 = new Adapter(); target2.request(); } }
适配器模式优点:
使用场景:
修改一个已经投产定型的接口时,可以使用。需要注意的是,在系统详细设计阶段最好不要考虑,它不是为了解决开发阶段的问题,二是解决正在服役的项目中出现的问题,通过适配器模式,避免代码修改带来的风险。
标签:col 通过 活性 public 问题 其他 抽象 状态 通用
原文地址:https://www.cnblogs.com/loveBolin/p/9736495.html