一、接口隔離原則簡介
- 用多個專門的接口,而不再使用單一的總接口,客戶端不應該依賴它 不需要的接口。
- 一個類對一個類的依賴應該建立在最小的接口上。
- 建立單一接口,不要建立龐大臃腫的接口。
- 儘量細化接口,接口中的方法儘量少。
- 注意:注意適度原則,一定要適度,過大的話會增加耦合性,而過小的話會增加複雜性和開發成本。
- 優點:符合我們常說的高內聚低耦合的設計思想,從而使得類具有很好的可讀性、可擴展性和可維護性。
二、代碼實現
1.違背接口隔離的反例
public interface AnimalAction {
void eat();
void fly();
void swim();
}
public class Bird implements AnimalAction {
@Override
public void eat() {
}
@Override
public void fly() {
}
@Override
public void swim() {
}
}
public class Dog implements AnimalAction {
@Override
public void eat() {
}
@Override
public void fly() {
}
@Override
public void swim() {
}
}
2.遵循接口隔離原則的正確示範
public interface SwimAnimalAction {
void swim();
}
public interface EatAnimalAction {
void eat();
}
public interface FlyAnimalAction {
void fly();
}
public class Dog implements SwimAnimalAction, EatAnimalAction {
@Override
public void eat() {
}
@Override
public void swim() {
}
}
public class Bird implements EatAnimalAction,FlyAnimalAction,SwimAnimalAction {
@Override
public void eat() {
}
@Override
public void fly() {
}
@Override
public void swim() {
}
}
三、關於接口隔離原則的理解