/**
* 施乐公司系统机器接口
*/
public interface IMachine {
/**
* 打印
*/
public void print();
/**
* 装订
*/
public void staple();
/**
* 扫描
*/
public void scan();
/**
* 复印
*/
public void photoCopy();
}
对于上面的接口,去实现的话,需要依次实现N多个方法,然而,在我们的实现子类里面,可能仅仅需要实现某一个方法。其他的方法都是冗余。这种现象我们称作:污染的或者臃肿的接口。
看下面的实现:
public class XeroxMachine implements IMachine {
@Override
public void print() {
System.out.println("打印任务...");
}
@Override
public void staple() {
System.out.println("装订任务...");
}
@Override
public void scan() {
System.out.println("扫描任务...");
}
@Override
public void photoCopy() {
System.out.println("复印任务...");
}
}
如果你正在处理一个遗留的应用程序,存在“臃肿的接口”,你会如何处理呢?
你可以使用 适配器模式 去分离接口。
抄自:
这是我copy的地方----