首页 > 其他 > 详细

设计模式(九)---缺省适配器模式

时间:2017-09-07 12:59:49      阅读:242      评论:0      收藏:0      [点我收藏+]

1、简介

   缺省适配模式为一个接口提供缺省实现,这样的类型可以从这个缺省实现进行扩展,而不必从原有接口进行扩展。当原接口中定义的方法太多,而其中大部分又不被需要时,这种模式非常实用。

由缺省适配器类直接实现目标接口,并为所有方法提供缺省的空实现。用户类就只需要继承适配器类,只实现需要的方法就行了。

2、源代码

  2.1、目标接口

package DefaultAdapter;
/**
 * ********************************************************  
* @ClassName: InterfaceA 
* @Description: 目标接口
*  
**********************************************************
 */
public interface InterfaceA {
    void fun1();
    void fun2();
    void fun3();
    void fun4();
    void fun5();
}

  2.2、缺省适配器抽象类

package DefaultAdapter;
/**
 * ********************************************************  
* @ClassName: AbstractB 
* @Description: 缺省适配器抽象类
*  
**********************************************************
 */
public abstract class AbstractB implements InterfaceA {

    @Override
    public void fun1() {}

    @Override
    public void fun2() {}

    @Override
    public void fun3() {}

    @Override
    public void fun4() {}

    @Override
    public void fun5() {}

}

  2.3、用户类(只需要实现自己需要的方法)

package DefaultAdapter;
/**
 * ********************************************************  
* @ClassName: ClassBImpl 
* @Description: 用户类 可以实现自己需要的方法
*  
**********************************************************
 */
public class ClassBImpl extends AbstractB{
    
    @Override
    public void fun1(){
        System.out.println("fun1");
    }
}

  2.4、测试类

package DefaultAdapter;
/**
 * ********************************************************  
* @ClassName: DefaultAdapter 
* @Description: 缺省适配器模式测试类
*  
**********************************************************
 */
public class DefaultAdapterTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ClassBImpl c = new ClassBImpl();
        c.fun1();
    }

}

  2.5、运行

技术分享

设计模式(九)---缺省适配器模式

原文:http://www.cnblogs.com/shun-gege/p/7489038.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!