学学设计方式【适配器模式】

学学设计模式【适配器模式】



 
适配器设计模式:又叫做变压器模式或者包装模式。适配器很常见,比如笔记本是的电源适配器等,将原来完全不符合标准的两个东西通过一个适配器(中间物体)转换下,使两个完全不同德东西可以组合在一起使用。不过适配器模式在一般的设计中应该不用考虑,除非项目重要改动原有的接口,风险比较大。为了降低风险,可能适配器就是最好的选择了。

下面是一个适配器模式图:


学学设计方式【适配器模式】
 

下面是上面图的代码部分:

1、首先是目标接口类 Tatget:

package com.myapp.adapter;   
  
/**  
 * 目标角色,就是将要将某个类转化为这个角色  
 * @author seeeyou  
 *  
 */  
public interface Target {   
  
    /**  
     * 目标类的方法  
     */  
    public void request();   
       
}  

 

package com.myapp.adapter;   
/**  
 * 目标类的实现类  
 * @author seeeyou  
 *  
 */  
public class ConcreteTarget implements Target{   
  
    public void request() {   
     System.out.println("我是目标类的实现类....");   
    }   
  
}  

 

2、源目标类:Adaptee

package com.myapp.adapter;   
  
/**  
 * 适配器源角色,将会需要一个适配器类将这个类转换为目标角色  
 * @author seeeyou  
 *  
 */  
public class Adaptee {   
    public void doSomthing() {   
        System.out.println("我是源角色的方法。。。");   
    }   
}  

 

3、最后的一个重要的类:适配器类:Adapter:

package com.myapp.adapter;   
/**  
 * 最重要的角色,适配器  
 * @author seeeyou  
 *  
 */  
public class Adapter extends Adaptee implements Target{   
    /**  
     * 实现了目标类,继承了源角色类  
     */  
    public void request() {   
        //这里调用源角色的方法,   
        //这样就将源角色方法 转换为了tartget接口的方法   
        doSomthing();   
           
    }   
  
}  


这就是最通用的适配器设计模式部分吧。