美文网首页
设计模式七大原则 - 接口隔离原则

设计模式七大原则 - 接口隔离原则

作者: 夹板儿孩 | 来源:发表于2022-11-24 22:46 被阅读0次

接口隔离原则

目的: 实现接口的客户端不应该实现或依赖它不需要的方法

举个例子

有如下一个大的接口 Interface1,其中分别有三个方法

  1. power(): void // 动力
  2. rotate(): void // 旋转
  3. gear(): void // 换挡

现在我们只需要一个发动机、一个轮胎、一个变速箱造一辆汽车。分别是

Engine.java implements Interface1 // 发动机

Gearbox.java implements Interface1 // 变速箱

Wheel.java implement Interface1 // 轮胎

如果按这个方式去实现这个类,那么他们三个类中都将需要实现他们并不需要的方法。

发动机,它只需要输出动力,它不能旋转,也不能换挡

变速箱,它只需要换挡,它不能输出动力,也不能旋转

轮胎,它只需要旋转,他不能输出动力,也不能换挡

这样去做,那造出的车,就多了很多不必要的功能,增加了它的难度,也增加了复杂度

这时候就需要用到接口隔离原则。

我们只需要将这个 Interface1 接口拆分成三个接口,分别是

Engine 发动机

public interface Engine {
    /**
     * 输出动力
     * @return 动力
     */
    int power();
}

Gearbox 变速箱

public interface Gearbox {
    /**
     * 切换档位
     * @return 档位
     */
    int gear();
}

Wheel 轮胎

public interface Wheel {
    /**
     * 旋转
     * @return 旋转速度
     */
    double rotate();
}

三个接口都实现好了,我们只需要车子实现了这三个功能,那么这辆车的模型就算是建造完了

Car 汽车模型

public class Car implements Engine, Gearbox, Wheel{
    @Override
    public int power() {
        return 3000;  // 输出动力
    }

    @Override
    public int gear() {
        return 5;  // 切换档位
    }

    @Override
    public double rotate() {
        return power() / gear() * 0.16; // 档位切换后轮胎的转速
    }

    public double speed() {
        return rotate();     // 行驶的速度
    }
}

创造汽车

/**
 * 接口隔离原则
 */
public class Main {
    public static void main(String[] args) {
        Car car = new Car();
        System.out.println("汽车动力: " + car.power());
        System.out.println("汽车档位: " + car.gear());
        System.out.println("汽车速度: " + car.speed());
    }
}

相关文章

  • 【设计模式】接口隔离原则

    以下内容来自《Java设计模式》 1 接口隔离原则 接口隔离原则定义如下: 接口隔离原则(Interface Se...

  • 聊聊设计模式原则(三) -- 依赖倒置原则

    目录 聊聊设计模式原则(一) -- 单一职责原则 聊聊设计模式原则(二) -- 接口隔离原则 聊聊设计模式原则(三...

  • 聊聊设计模式原则(二) -- 接口隔离原则

    目录 聊聊设计模式原则(一) -- 单一职责原则 聊聊设计模式原则(二) -- 接口隔离原则 聊聊设计模式原则(三...

  • 聊聊设计模式原则(一) -- 单一职责原则

    目录 聊聊设计模式原则(一) -- 单一职责原则 聊聊设计模式原则(二) -- 接口隔离原则 聊聊设计模式原则(三...

  • 接口隔离原则

    个人博客原文:接口隔离原则 设计模式六大原则之四:接口隔离原则。 简介 姓名 :接口隔离原则 英文名 :Inter...

  • 设计模式1-创建型模式

    1-设计模式的原则七大原则记忆口诀:开口里合最单依 开:开闭原则 //实现热插拔,提高扩展性。 口:接口隔离原则...

  • 设计模式的设计原则

    设计模式的设计原则 面向对象五大设计原则 单一职责原则 里氏替换原则 依赖倒置原则 接口隔离原则 开闭原则 设计模...

  • iOS开发知识体系之《设计原则》

    七大设计原则:单一职责原则、里式替换原则、 依赖倒置原则、 接口隔离原则、迪米特法则、开放封闭原则、组合/聚合复用...

  • 面向对象中七个的设计原则

    七大设计原则: 开闭原则单一职责原则里氏替换原则依赖倒置原则接口隔离原则最少知识原则(迪米特法则)少用继承多用组合...

  • 设计模式(-)

    设计模式的7大基本原则: 设计模式的原则:构建可以服用,可以维护代码的经验法则 原则(一)接口隔离原则: 接...

网友评论

      本文标题:设计模式七大原则 - 接口隔离原则

      本文链接:https://www.haomeiwen.com/subject/xjdtfdtx.html