面象对象设计6大原则之四:接口隔离原则

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

定义 客户端不需要强迫依赖那些它们不需要的接口。

类与接口的依赖应该建议在最小的接口上,也就是说接口应该最小化,不能建立在一个庞大的接口之上,接口合理地按功能职能分成更细的几个单一的子接口。

如果一个接口定义并公布过多的方法,会导致所有的实现类必须要实现接口的方法,可能不同的业务场景不需要实现,所以接口隔离的原则就是只实现他们需要的接口。

像spring中的BeanFactory定义了bean的各种最基本的操作的方法,而BeanFactory下面又有3个扩展的子接口,扩展的子接口拥有父接口的全部方法并且拥有自己的独特的方法,我们可以按需要直接实现父接口或者实现子接口,这样就达到了接口隔离的原则,使接口最小化。

看起来,接口隔离原则是不怎么难实现的原则,只要具备一点业务抽象能力的都可以做到,接口隔离原则在一方面也满足了单一职责原则。

原文发布于微信公众号 - Java技术栈(javastack)

原文发表时间:2017-06-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android 技术栈

java 常用十种设计模式示例归纳 | 已打包请带走

一个Demo,集合常用的十种设计模式,每个模式使用易被人们接受的案例讲述,按模式分包,使用设计模式前后对比,界面显示定义讲解,让你更深刻的了解每种设计模式。 ...

1K2
来自专栏WeTest质量开放平台团队的专栏

低于0.01%的极致Crash率是怎么做到的?

3684
来自专栏软件测试经验与教训

Python学习笔记(一)

2805
来自专栏精讲JAVA

详述 PO VO BO DTO DAO 和 POJO 的概念及区别

 说实话,我相信对于刚接触 PO、VO、BO、DTO、DAO 和 POJO 这些概念的同学来说,大都会有一种“这都是什么鬼?”的感觉,可谓是云里雾里,不知今...

1365
来自专栏平凡文摘

详述 PO VO BO DTO DAO 和 POJO 的概念及区别

1023
来自专栏老秦求学

汇编语言学习01

汇编语言(8086cpu) 恩,学习一门课程,我觉得应该有一定的条理性,而且自己要勤加思考才能学好,条理性:最好就是先整体的介绍一下全本书,然后再详细的介绍各个...

2929
来自专栏生信宝典

生信宝典之傻瓜式 (一) 如何提取指定位置的基因组序列

为了一件小事也不得不写程序时,你是否会觉得心里很烦?本栏目旨在分享生物信息分析中的一些小技巧,纯傻瓜式操作,助你事半功倍,心情倍儿爽。 想要提取拟南芥1号染色体...

2198
来自专栏PhpZendo

没错,这就是面向对象编程(设计模式)需要遵循的 6 个基本原则

在讨论面向对象编程和模式(具体一点来说,设计模式)的时候,我们需要一些标准来对设计的好还进行判断,或者说应该遵循怎样的原则和指导方针。

872
来自专栏积累沉淀

Java设计模式(二十)----状态模式

状态模式 一、概述 二、结构 三、具体案例 四、认识状态模式 一、概述 定义:允许一个对象的内部状态改变时改变它的行为。对象看起来似...

2125
来自专栏维C果糖

详述 PO VO BO DTO DAO 和 POJO 的概念及区别

  说实话,我相信对于刚接触 PO、VO、BO、DTO、DAO 和 POJO 这些概念的同学来说,大都会有一种“这都是什么鬼?”的感觉,可谓是云里雾里,不知今夕...

2635

扫码关注云+社区