面向对象设计原则之接口隔离原则

接口隔离原则(Interface Segregation Principle, ISP)

Clients should not be forced to depend upon interfaces that they don’t
use.

概念1:客户端不应该被迫依赖它们不需要使用的接口。

The dependency of one class to another one should depend on the
smallest possible interface.

概念2:一个类与其他类应该通过最小最适用的接口来建立依赖关系。

相对于其他原则,这个原则的概念还相对好理解,个人理解就是尽量把接口简单化,按需去定义这个契约。否则,对于某些只需要提供某个接口中的单个方法的类来说,成本有点大,因为接口里的方法是需要全部实现的。

假设目前有这么一种情况,有一家科技公司很厉害,旗下有手机、电脑、平板多种产品,由于供不应求,该公司想成立自己的代工厂。

旧的情况:
在这里插入图片描述
在这里插入图片描述
这时问题来了,手机工厂仅仅想代理这个公司的手机业务,却要连同他们的电脑和平板业务都给浏览一遍,浏览完了发现自己没有生产线,不得不讪讪的和老板说了声告辞。业务经理也陪着代工方浪费了好多时间。此时便有了新的方案。
在这里插入图片描述

这样子的话,公司的业务代工出去了,业务经理也不用陪着浪费那么多无意义的时间了。

而同时,公司的各项业务与代工商间的依赖关系也仅仅通过一个很小粒度的接口,两者间的契约也很简介明了,换个厂商也很方便。

在实际开发中,也当遵循这种原则,如果接口过于复杂,与之有关联的类也会相应的多起来,这样子的话存在的弊端就是很容易牵一发而动全身。一旦接口设计出了问题,很多类也就无法正常工作了。

这是我的个人理解,有不同观点的朋友可以留言我哦Thanks♪(・ω・)ノ

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值