软件设计七大原则:(四)接口隔离原则

一时失言乱红尘 2023-10-06 10:37 154阅读 0赞

一、接口隔离原则简介

  • 用多个专门的接口,而不再使用单一的总接口,客户端不应该依赖它 不需要的接口。
  • 一个类对一个类的依赖应该建立在最小的接口上。
  • 建立单一接口,不要建立庞大臃肿的接口。
  • 尽量细化接口,接口中的方法尽量少。
  • 注意:注意适度原则,一定要适度,过大的话会增加耦合性,而过小的话会增加复杂性和开发成本。
  • 优点:符合我们常说的高内聚低耦合的设计思想,从而使得类具有很好的可读性、可扩展性和可维护性。

二、代码实现

1.违背接口隔离的反例

  1. public interface AnimalAction {
  2. void eat();
  3. void fly();
  4. void swim();
  5. }
  6. public class Bird implements AnimalAction {
  7. @Override
  8. public void eat() {
  9. }
  10. @Override
  11. public void fly() {
  12. }
  13. @Override
  14. public void swim() {
  15. }
  16. }
  17. public class Dog implements AnimalAction {
  18. @Override
  19. public void eat() {
  20. }
  21. @Override
  22. public void fly() {
  23. }
  24. @Override
  25. public void swim() {
  26. }
  27. }

2.遵循接口隔离原则的正确示范

  1. public interface SwimAnimalAction {
  2. void swim();
  3. }
  4. public interface EatAnimalAction {
  5. void eat();
  6. }
  7. public interface FlyAnimalAction {
  8. void fly();
  9. }
  10. public class Dog implements SwimAnimalAction, EatAnimalAction {
  11. @Override
  12. public void eat() {
  13. }
  14. @Override
  15. public void swim() {
  16. }
  17. }
  18. public class Bird implements EatAnimalAction,FlyAnimalAction,SwimAnimalAction {
  19. @Override
  20. public void eat() {
  21. }
  22. @Override
  23. public void fly() {
  24. }
  25. @Override
  26. public void swim() {
  27. }
  28. }

三、关于接口隔离原则的理解

  1. /**
  2. * 细粒度可以组装,粗粒度不能拆分,这样可以提高程序可维护性和可扩展性。
  3. *
  4. * 接口隔离原则与单一职责不同的是,单一职责原则指的类/接口/方法是单一的,
  5. * 只要接口的职责是单一的,里面可以有五个、十个方法也是可以的。针对的是程序中实现和细节。
  6. *
  7. * 而接口隔离原则注重的是对接口依赖的隔离。针对的是抽象、程序整体。
  8. */

发表评论

表情:
评论列表 (有 0 条评论,154人围观)

还没有评论,来说两句吧...

相关阅读

    相关 软件设计原则

    注意:这七大设计原则传输的是一种思想,并非要求全部遵循,而是在满足要求的条件下尽量满足原则。 1. 开闭原则 定义:一个软件实体如类、模块、函数应该对扩展开放,对修改关