首页
学习
活动
专区
工具
TVP
发布

接口隔离原则

设计模式六大原则之四:接口隔离原则。 简介 姓名 :接口隔离原则 英文名 :Interface Segregation Principle 价值观 :宁缺毋滥 个人介绍 : 1....故事只是把大家带入这个场景,我们在工作中,着手开发之前不都得先理清好需求背景,这就是要讲接口隔离原则的背景,通过代码来给大家讲解一下如何用好接口隔离原则。...有人可能要问,不是说接口隔离么?这里面 Work 接口的 4 个方法都可以分离开,它们都是各自的工作内容。...看了这个过程,你理解了接口隔离原则了么?再看一看上面的定义:客户端不应该依赖它不需要的接口。闭上眼睛,静默 3 秒,感受一下。 我们也可以回忆一下在工作中编写的代码,是不是有遵守接口隔离原则?...总结 接口隔离原则最最最重要一点就是要根据实际情况,具体业务具体分析,不能犯了上面说到的错误:在老父亲的运营模式下,按儿子的工序划分接口去实现,那样子会得不偿失。

66320

接口隔离原则

接口隔离原则 定义 Interface Segregation Principle:客户端不应该被强迫依赖它不需要的接口。 个人理解 两个类之间的依赖应当建立在最小的接口上。...接口颗粒度把握好,太小了调用麻烦,太大了就会提供一些客户端不需要的内容,服务端改动时影响范围增大,影响扩展性。 如果接口部分内容需要复用,可以拆出来,再使用外观模式,提供客户端需要的接口。...接口隔离原则与单一职责原则的区别 单一职责原则针对的是模块、类、接口的设计。接口隔离原则相对于单一职责原则,一方面更侧重于接口的设计,另一方面它的思考角度也是不同的。...接口隔离原则提供了一种判断接口的职责是否单一的标准:通过调用者如何使用接口来间接地判定。如果调用者只使用部分接口接口的部分功能,那接口的设计就不够职责单一。

20910
您找到你想要的搜索结果了吗?
是的
没有找到

接口隔离原则

尽量缩小接口的范围, 使得客户端的类不必实现其不需要的 行为。 根据接口隔离原则,你必须将“臃肿”的方法拆分为多个颗 粒度更小的具体方法。客户端必须仅实现其实际需要的方法。...你可将其拆分为更精细的接口, 如有需要可在单个类中 实现所有接口, 某些类也可只实现其中的一个接口。 示例 假如你创建了一个程序库, 它能让程序方便地与多种云计算 供应商进行整合。...更好的方法是将接口拆分为多个部分。能够实现原始接口的类现在只需改为实现多个精细的接口即 可。其他类则可仅实现对自己有意义的接口。...修改后:一个复杂的接口被拆分为一组颗粒度更小的接口 与其他原则一样, 你可能会过度使用这条原则。不要进一步 划分已经非常具体的接口。记住, 创建的接口越多, 代码就 越复杂。因此要保持平衡。...下一节依赖倒置原则

34830

接口隔离原则介绍

01.前沿简单介绍 学习了 SOLID 原则中的单一职责原则、开闭原则和里式替换原则,今天我们学习第四个原则接口隔离原则。它对应 SOLID 中的英文字母“I”。...除此之外,接口隔离原则跟我们之前讲到的单一职责原则还有点儿类似,所以今天我也会具体讲一下它们之间的区别和联系。...02.如何理解接口隔离原则 接口隔离原则的英文翻译是“ Interface Segregation Principle”,缩写为 ISP。...- 接口隔离原则跟单一职责原则有点类似,不过稍微还是有点区别。 - **单一职责原则针对的是模块、类、接口的设计**。...2.接口隔离原则与单一职责原则的区别 单一职责原则针对的是模块、类、接口的设计。接口隔离原则相对于单一职责原则,一方面更侧重于接口的设计,另一方面它的思考角度也是不同的。

36600

设计模式原则接口隔离原则

接口隔离原则 接口隔离原则表示一个类对另一个类的依赖应该建立在最小的接口上。也就是说,一个接口应该尽可能的小,只包含它需要的方法,而不是包含一些不相关的方法。...接口隔离原则是面向接口编程的重要原则之一,它体现了接口的粒度和单一性。如果一个软件能够遵循接口隔离原则,那么它就具有以下两个优点: 降低了类之间的耦合性,提高了系统的灵活性。...; } @Override public void swim() { System.out.println("鱼在水里游"); } } 这个类违反了接口隔离原则...,因为它将两个不相关的方法放在了同一个接口中,导致接口臃肿和污染。...为了遵循接口隔离原则,我们应该将 Animal 接口拆分为两个接口:Eatable 和 Swimmable。

13740

Java设计原则接口隔离原则(转)

接口隔离原则 Interface Segregation Principle 定义: 客户端不应该依赖它不需要的接口 类间的依赖关系应该建立在最小的接口上 我们可以把这两个定义概括为一句话:建立单一接口...再通俗一点讲:接口尽量细化,同时接口中的方法尽量少。 提供给每个模块的都应该是单一接口,提供给几个模块就应该有几个接口,而不是建立一个庞大的臃肿的接口,容纳所有的客户端访问。...含义: 接口要尽量小 这是接口隔离原则的核心定义,不出现臃肿的接口(Fat Interface),但是“小”是有限度的,首先就是不能违反单一职责原则。...根据接口隔离原则拆分接口时,首先必须满足单一职责原则接口要高内聚 高内聚就是要提高接口、类、模块的处理能力,减少对外的交互。...具体到接口隔离原则就是,要求在接口中尽量少公布public方法,接口是对外的承诺,承诺地越少对系统开发越有利,变更的风险也就越少,同时也有利于降低成本。

19220

面向对象设计原则-接口隔离原则(一)

介绍接口隔离原则(Interface Segregation Principle,简称ISP)是面向对象设计中的一项原则,它强调接口的独立性和高内聚性。...该原则要求将大的、笨重的接口拆分成更小的、更具体的接口,以便客户端只需了解它们所需的接口,而不需要了解不必要的接口。ISP原则的目的是降低类之间的耦合度,增强系统的灵活性、可维护性和可扩展性。...ISP原则的核心思想ISP原则的核心思想是:一个类不应该强制依赖于它不需要的接口。换句话说,客户端应该只依赖于它需要的接口,而不依赖于不需要的接口。...这样,客户端只需要实现它们需要的接口,而不需要实现不需要的接口。ISP原则的实现方法ISP原则可以通过以下方法来实现:将接口拆分成更小的、更具体的接口。...在设计接口时,应该将大的、笨重的接口拆分成更小的、更具体的接口,以便客户端只需了解它们所需的接口,而不需要了解不必要的接口

12410

面向对象设计原则-接口隔离原则(二)

使用适配器模式来实现接口的方法。适配器模式是一种设计模式,它可以将一个接口转换成另一个接口,以便客户端可以使用它。在ISP原则中,适配器模式可以用来将一个大的、笨重的接口适配成更小的、更具体的接口。...例如,以下是一个使用适配器模式的接口示例:public interface Bird { void fly(); void eat();}public class Eagle implements...Eagle类实现了Bird接口,并且实现了fly()和eat()方法。但是,我们需要将Bird接口拆分成更小的、更具体的接口,例如Moveable和Eatable接口。...BirdAdapter类实现了Moveable接口和Eatable接口,并将Bird对象作为它的成员变量。...这样,客户端只需要实现Moveable和Eatable接口,而不需要实现Bird接口

11020

软件架构设计原则--接口隔离原则

本专栏内容参考自:咕泡学院Tom老师的《Spring5核心原理与30个类手写实战》,仅作个人学习记录使用,如有侵权,联系速删   接口隔离原则(Interface isolation principle...,ISP)是指用多个专门的接口,而不是用单一的总接口,客户端不应该依赖它不需要的接口。   ...这个原则知道我们在设计接口时应当注意以下几点: 一个类对另一个类的依赖应当建立在最小的接口上。 建立单一的接口,不要建立庞大臃肿的接口。...尽量细化解耦,接口中的方法尽量少(不是越少越好)   接口隔离原则符合我们常说的高内聚、低耦合的设计思想,可以使类具有很好的可读性、可扩展性和可维护性。...那么这就不符合接口隔离原则了,怎么改进呢? 把三种行为拆分为三个接口,让每个动物实现他们各自需要的就行了。

20730

设计模式(四):接口隔离原则

什么是接口隔离原则? 定义1:客户端不应该被迫依赖于它没使用的方法。 定义2:类之间的依赖关系应该依赖于尽可能小的接口。...我们要为类建立它们各自需要的接口,不要试图创建一个含有大量接口方法的万能接口给依赖它的类使用。 接口隔离原则的作用?...庞大的接口里有大量接口方法,若一个类实现这个接口,就必须实现所有的接口方法,很容易造成代码冗余。 为什么要遵守接口隔离原则? 我们将通过简单例子来讲述为何我们要遵守接口隔离原则。...设计接口时我们需要结合单一职责原则将相同职责的接口方法放在一起,同时结合项目实际利用接口隔离原则减少接口方法,一般一个接口只服务于一个小功能模块。...接口隔离原则的实现方法 在实际使用接口隔离原则时,我们应该根据以下几个规则来贯彻实行。 从业务需求角度分析。每个项目都有自己业务逻辑,开发要求等等因素,导致接口的拆分标准不能一套标准多次复用。

81300

SOLID - 如何应用接口隔离原则

接口隔离原则,客户端不应该被强迫依赖它不需要的接口。其中的“客户端”,可以理解为接口的调用者或者使用者。...判断标准 从接口调用方来判断,是否提供了多余的能力 也就是增加不必要的依赖,而且会造成调用方使用的困惑 与单一职责原则的区别 接口隔离原则跟单一职责原则有点类似,其区别在于, 单一职责原则针对的是模块...、类、接口的设计 接口隔离原则更侧重于接口的设计,而且思考的角度不同。...接口隔离原则需要站在调用方来判断,是否被强迫依赖了不需要的接口 如何实现接口隔离原则 首先保证接口职责单一,符合单一职责原则 接口由一组逻辑高度自洽的功能组成,比如订单履约、订单查询、订单分析等 示例...订单交易系统中,一开始会把订单相关代码实现在一个接口,比如订单创建、查询、发货、到货等,但是随着业务发展,业务会逐渐区分C端履约,B端履约,B端查询分析等子系统, 这个时候就需要把订单接口拆分为3个对应的接口

21510

php接口隔离原则实例分析

本文实例讲述了php接口隔离原则。分享给大家供大家参考,具体如下: 使用多个专门的接口比使用单一的总接口要好。 一个类对另外一个类的依赖性应当是建立在最小的接口上的。...一个接口代表一个角色,不应当将不同的角色都交给一个接口。没有关系的接口合并在一起,形成一个臃肿的大接口,这是对角色和接口的污染。 “不应该强迫客户依赖于它们不用的方法。...接口属于客户,不属于它所在的类层次结构。”这个说得很明白了,再通俗点说,不要强迫客户使用它们不用的方法,如果强迫用户使用它们不使用的方法,那么这些客户就会面临由于这些不使用的方法的改变所带来的改变。

56131

设计模式—— 四:接口隔离原则

接口隔离原则看起来似乎和单一职责原则撞一块了,但是: 单一职责原则要求的是类和接口职责单一,注重的是职责,这是业务逻辑上的划分。...接口隔离原则要 求接口的方法尽量少,哪怕一个类或接口只有一个职责,但却有较多的方法,这再接口隔离原则中是不允许的。 为什么要用接口隔离原则?...遵循接口隔离原则的设计 根据接口隔离原则,重新设计。...深究接口隔离原则 接口隔离原则是对接口进行规范约束,其包含以下4层含义: 接口要尽量小 这是接口隔离原则的核心定义,不出现臃肿的接口(Fat Interface)。...参考: 【1】:《设计模式之禅》 【2】:设计模式六大原则(4):接口隔离原则 【3】:聊聊设计模式原则(二) -- 接口隔离原则

44820

软件架构设计原则接口隔离原则

接口隔离原则(Interface Segregation Principle, ISP)是指用多个专门的接口,而不使用单一的总接口,客户端不应该依赖它不需要的接口。...这个原则指导我们在设计接口时应当注意以下几点: (1)一个类对另一个类的依赖应该建立在最小的接口之上。 (2)建立单一接口,不要建立庞大臃肿的接口。...(3)尽量细化接口接口中的方法尽量少(不是越少越好,一定要适度)。 接口隔离原则符合我们常说的高内聚、低耦合的设计思想,可以使类具有很好的可读性、可扩展性和可维护性。...这时候,我们针对不同动物行为来设计不同的接口,分别设计IEatAnimal、IFlyAnimal和ISwimAnimal接口,来看代码。...IEatAnimal接口的代码如下: public interface IEatAnimal { void eat(); } IFlyAnimal接口的代码如下: public interface

19010

软件架构设计原则接口隔离原则

本文节选自《设计模式就该这样学》 接口隔离原则(Interface Segregation Principle, ISP)是指用多个专门的接口,而不使用单一的总接口,客户端不应该依赖它不需要的接口。...这个原则指导我们在设计接口时应当注意以下几点: (1)一个类对另一个类的依赖应该建立在最小的接口之上。 (2)建立单一接口,不要建立庞大臃肿的接口。...(3)尽量细化接口接口中的方法尽量少(不是越少越好,一定要适度)。 接口隔离原则符合我们常说的高内聚、低耦合的设计思想,可以使类具有很好的可读性、可扩展性和可维护性。...其他设计原则 Tom弹架构:开闭原则(Open-Closed Principle,OCP) Tom弹架构:依赖倒置原则(Dependence Inversion Principle,DIP) Tom弹架构...:单一职责原则(Simple Responsibility Pinciple,SRP) Tom弹架构:迪米特原则(Law of Demeter LoD) Tom弹架构:里氏替换原则(Liskov Substitution

46500

OOP面向对象编程设计原则-接口隔离原则

接口隔离原则(英语:interface-segregation principles, 缩写:ISP)指明客户(client)不应被迫使用对其而言无用的方法或功能。...接口隔离原则(ISP)拆分非常庞大臃肿的接口成为更小的和更具体的接口,这样客户将会只需要知道他们感兴趣的方法。这种缩小的接口也被称为角色接口(role interfaces)。...接口隔离原则(ISP)的目的是系统解开耦合,从而容易重构,更改和重新部署。接口隔离原则是在SOLID中五个面向对象设计(OOD)的原则之一,类似于在GRASP中的高内聚性。...在面向对象设计中,接口(interface)提供了便于代码在概念上解释的抽象层,并创建了避免依赖的一个屏障。

22420
领券