1、接口隔離的前提是職責單一
2,如果A接口有5個方法,B實現類實現5個方法,C實現類只要3個方法,現在就需要拆分成一個3方法的接口,一個2個接口的方法
public interface IDoor {
public void open();
public void close();
public void doorBell();
public void catEye();
}
看上面的接口其實是有問題的,有些門是沒有門鈴和貓眼。
public interface IDoor {
public void open();
public void close();
}
public interface IDoorBell {
public void doorBell();
}
public interface IDoorCatEye{
public void catEye();
}
public class Door implements IDoor, IDoorBell, IDoorCatEye {
@Override
public void open() {
}
@Override
public void close() {
}
@Override
public void doorBell() {
}
@Override
public void catEye() {
}
}
public class Door implements IDoor, IDoorBell, IDoorCatEye {
@Override
public void open() {
}
@Override
public void close() {
}
@Override
public void doorBell() {
}
@Override
public void catEye() {
}
}
最簡單的門
public class Door implements IDoor{
@Override
public void open() {
}
@Override
public void close() {
}
}
1,接口的拆分粒度越小,靈活性越高,拆分太細,維護也困難。
2,如果接口以及很大而且臃腫投入使用了,就用適配器模式適配。