适配器(Adapter)模式(包装模式)
适配器(Adapter)模式也叫包装模式,主要有两种实现形式:
A:类适配器模式
B:对象适配器模式
都有三种角色
1:Target:供客户端调用
2:Adaptee:具体调用角色
3:Adapter:包装角色
A:类适配器模式(继承)
package com.pattern.adapter.classadapter;/** * 客户端要使用的目标类 * */public interface Target {public void method1();}
package com.pattern.adapter.classadapter;public class Adaptee {public void method2(){System.out.println("执行...");}}
package com.pattern.adapter.classadapter;//继承Adaptee类public class Adapter extends Adaptee implements Target {//包装类public void method1() {this.method2();}}
package com.pattern.adapter.classadapter;//适配器模式也叫包装模式public class Client {//类适配器模式public static void main(String[] args){Target target = new Adapter();target.method1();}}
package com.pattern.adapter.objectadapter;/** * 客户端要使用的目标类 * */public interface Target {public void method1();}
package com.pattern.adapter.objectadapter;public class Adaptee {public void method2(){System.out.println("执行...");}}
package com.pattern.adapter.objectadapter;//不继承Adaptee类public class Adapter implements Target {private Adaptee adaptee ;public Adapter(Adaptee adaptee){this.adaptee = adaptee;}public void method1() {adaptee.method2();}}
package com.pattern.adapter.objectadapter;//适配器模式也叫包装模式public class Client {//对象适配器模式public static void main(String[] args){Target target = new Adapter(new Adaptee());target.method1();}}