设计原则之接口隔离原则详解

接口隔离原则定义
用多个专门的接口分别定义方法,而不是使用一个总的接口定义一堆方法
  1. 一个类对应一个类的依赖应该建立在最小的接口上
  2. 尽量细化接口,接口中的方法尽量少
  3. 不要建立庞大臃肿的接口类

意思就是我们定义接口时候一个接口内定义的方法不能太臃肿 不能太多,一个接口中应该尽量少的贴合实际的去定义方法,避免在不同场景使用接口的时候实现一些根本用不到的方法,造成代码臃肿,可读性差,设计接口时候应该多思考,尽可能多考虑到不同的情况

优点:
  • 符合我们常用的高内聚低耦合的思想,使我们的类具有很好的可读性,可扩展性,可维护性。
下面我们以一个例子详细理解接口隔离原则

我们先不遵循接口隔离原则,创建一个动物接口类,定义吃,飞行,游泳等行为,然后定义一个狗类实现以上接口,狗是不会飞行的,但也必须强制实现这一方法,这样定义是不可取的。

public interface Animal {
    public void eat();
    public void fly();
    public void swim();
}

public class Dog implements Animal {
    @Override
    public void eat() {
    }
    
    @Override
    public void fly() {
    }
    
    @Override
    public void swim() {

    }
}

我们遵循接口隔离原则,拆分以上动物行为类为具体的接口,根据动物具体行为选择性实现接口是比较可取的选择,实现如下:

public interface EatAnimal {
    public void eat();
}
public interface FlyAnimal {
    public void fly();
}
public interface SwimAnimal {
    public void swim();
}

public class Dog implements EatAnimal,SwimAnimal {
    @Override
    public void eat() {
        
    }
    @Override
    public void swim() {

    }
}

这样做,不同动物可以精准实现其行为,不会有臃肿的代码产生,所以应该根据实际情况尽可能遵循接口隔离原则,让代码更具易读性和简洁性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值