码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-09-07 13:34:25      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:实用   bst   eth   ada   自己   rgs   interface   ace   blog   

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、运行

技术分享

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

标签:实用   bst   eth   ada   自己   rgs   interface   ace   blog   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!