/**
* 施樂公司系統機器接口
*/
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的地方----