2010-02-25 122 views
3

我有一个接口,宣布4种方法...... 我添加了一个抽象类实现了这个接口给开发者有机会选择他们想要多少方法来实现(在侦听器的情况下特别有用)...这是什么设计模式?

public interface Mylistener { 
    void actionA(); 
    void actionB(); 
    void actionC(); 
    void actionD(); 
} 
public abstract class MylistenerWrapper implements Mylistener { 
    public void actionA(){} 
    public void actionB(){} 
    public void actionC(){} 
    public void actionD(){} 
} 

,现在开发商没有义务来实现所有的接口方法:

Mylistener l1 = new MylistenerWrapper(){ 
    public void actionA(){ 
    //treatment for actionA 
    } 
    public void actionD(){ 
    //treatment for actionD 
    } 
}  
Mylistener l2 = new MylistenerWrapper(){ 
    public void actionC(){ 
    //treatment for actionC 
    } 
} 

我的问题:什么设计模式是什么?我已经命名我的类包装(适配器)是否可以?

+0

它在访客和/或命令以某种方式退缩,但不完全... – 2010-02-25 15:51:30

+0

@Lieven:thx!但它可能不是一个'访客'这里的目标是不添加新的方法,而是选择现有的方法...既不是'命令',也不存在延迟呼叫或委托... – 2010-02-25 16:06:24

回答

1

适配器可能(通过类比Swing中的不同EventListenerAdapter)。

+0

+1 thx Roman!非常好的比喻! – 2010-02-25 15:57:40