面向对象设计原则——接口隔离原则(ISP)

面向对象设计原则——接口隔离原则(ISP)

tags:设计模式

ISP–No Client should beforced on methods it does not ture.

原则简介

接口隔离原则要求客户程序无需被迫依赖于它用不到的方法.

接口隔离原则与前面的单一职责原则是相辅相成的,如果每个接口只定义”单一职责”,一般不容易出现Fat interface,而且冗余较少.但单一职责原则并不保证客户程序只知道必要的信息,甚至在有些情况下接口隔离原则与单一职责原则会出现一定的冲突,设计时我们要根据用户界面,性能等因素决策.

解释举例

例如,对于一个技术支持服务台应用而言,人员信息需要知道一些姓名,email等基本信息;但对于一个人力资源系统而言,,人员信息就会很多了.尽管按照单一职责原则人力资源系统中的person接口可以分解为多个接口,但即便这样一般也会比Service Desk多.

所以,贯彻接口隔离原则不是简单地说多余或者不多余,衡量的标准是有前提的.从设计角度看,它要依据业务需求来衡量到底时候多余,确保每个领域背景下贯彻接口隔离原则.实际项目中,很多类型也存在类似的问题,因此,我们可以将它们划分到不同的Java package中

依据业务领域分割后的接口隔离原则:

package common
class interface Person{}

package servicedesk
class interface Person extends Person{
    void sendEmail();
    void sendSMS();
    set..
    get..
}

package hr
class interface Person extends Person{
    set..
    get..
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值