在讲接口隔离原则之前,先明确一下我们的主角——接口.接口分为两种: ● 实例接口(Object Interface),在Java中声明一个类,然后用new关键字产生一个实例,它是对一个类型的事物的描述,这是一种接口.比如你定义Person这个类,然后使用 Person zhangSan=new Person()产生了一个实例,这个实例要遵从的标准就是Person这个类,Person类就是zhangSan的接口.疑惑?看不懂?不要紧,那是因为让Java语言  浸染的时间太长了,只要知道从这个角度来…
ISP = Interface Segregation Principle   ISP的定义如下: 1.客户端不应该依赖他不需要的接口 2.一个类对另外一个类的依赖性应该是建立在最小的接口上 3.不应当将不同的接口合并在一起,形成一个臃肿的大接口,这是对接口的污染 4.使用多个专门的接口要比使用单一的总接口要好     ISP的几个使用原则 1.根据接口隔离原则拆分接口时,首先必须满足单一职责原则: 没有哪个设计可以十全十美的考虑到所有的设计原则,有些设计原则之间就可能出现冲突,就如同单一职责原…
接口隔离原则的英文是Interface Segregation Principle,缩写就是ISP.与里氏替换原则一样其定义同样有两种 定义1: Clients should not be forced to depend upon interfaces that they don'tuse. (客户端被强迫不应该依赖它不需要的接口.) 定义2: The dependency of one class to another one should depend on the smallest po…
定义 客户端不应该依赖它不需要的接口: 一个类对另一个类的依赖应该建立在最小的接口上. 定义解读 定义包含三层含义: 一个类对另一个类的依赖应该建立在最小的接口上: 一个接口代表一个角色,不应该将不同的角色都交给一个接口,因为这样可能会形成一个臃肿的大接口: 不应该强迫客户依赖它们从来不用的方法. 接口隔离原则有点像单一职责原则,但是也有区别,在单一职责原则中,一个接口可能有多个方法,提供给多种不同的调用者所调用,但是它们始终完成同一种功能,因此它们符合单一职责原则,却不符合接口隔离原则,因为这…
1 课程大纲 2 UML的概述 总结: UML unified model language 统一建模语言 一共有十种图: 类图 用例图 时序图 * 对象图 包图 组件图 部署图 协作图 状态图 (最杰出的模型:地图) 3用例图 关联: 实心箭头 空心实线箭头 泛化关系 继承 包含关系:虚线箭头 加include 扩展关系: 虚线加extend 4类的关联和依赖关系 类图 泛化: 实现关系: 虚线空心箭头 依赖关系: 虚线箭头 5类的聚合和组合-类图练习 聚合与组合: 聚合: 组合: 6时序图…
1 主讲内容 1.1 核心内容 1.2 优点 1.3 课程记录 2 代码演练 2.1 接口隔离原则反比 2.2 接口隔离原则正比 1 主讲内容 1.1 核心内容 总结:细粒度可以进行再组装,粗粒度不可再拆分,所以接口设计的时候尽可能适度的拆分 1.2 优点 ◆优点:符合我们常说的高内聚低耦合的设计思想从而使得类具有很好的可读性.可扩展性和可维护性 1.3 课程记录 ◆定义:用多个专门的接口,而不使用单一的总接口,客户端不应该依赖它不需要的接口◆一个类对一个类的依赖应该建立在最小的接口上建立单一接…
一.接口隔离原则 使用多个接口,而不使用单一的接口,客户端不应该依赖它不需要的接口.尽量的细化接口的职责,降低类的耦合度. 我们先来看一个例子: 小明家附近新开了一家动物园,里面有老虎.鸟儿.长颈鹿.....周末在逛动物园的时候,小明突发奇想,想用一种方式记录一下这些动物的习性,于是他将老虎和鸟儿的习性结合了一下,写了下面这段代码: 动物行为 // 动物行为 public interface Animal { // 吃 public void eat(); // 游泳 public void s…
前言 本章我们要讲解的是S.O.L.I.D五大原则JavaScript语言实现的第4篇,接口隔离原则ISP(The Interface Segregation Principle). 英文原文:http://freshbrewedcode.com/derekgreer/2012/01/08/solid-javascript-the-interface-segregation-principle/ 注:这篇文章作者写得比较绕口,所以大叔理解得也比较郁闷,凑合着看吧,别深陷进去了 接口隔离原则的描述…
理论性知识 定义 接口隔离原则, Interface Segregation Principle,(ISP). 一个类对应一个类的依赖应该建立在最小的接口上: 建立单一接口,不要建立庞大臃肿的接口: 尽量细化接口,接口中的方法尽量少. 优点 符合高内聚,低耦合的设计思想: 使类具有很好的可读性,可扩展性和可维护性: 代码实战demo 本次我们以动物场景为例 不遵守接口隔离原则的demo 首先定义一个动物接口,存在吃,飞,游泳3个行为方法,如下图 接下来定义一个cat类,实现动物接口.因为猫只有e…
一.ISP简介(ISP--Interface Segregation Principle): 使用多个专门的接口比使用单一的总接口要好.一个类对另外一个类的依赖性应当是建立在最小的接口上的.一个接口代表一个角色,不应当将不同的角色都交给一个接口.没有关系的接口合并在一起,形成一个臃肿的大接口,这是对角色和接口的污染.   “不应该强迫客户依赖于它们不用的方法.接口属于客户,不属于它所在的类层次结构.”这个说得很明白了,再通俗点说,不要强迫客户使用它们不用的方法,如果强迫用户使用它们不使用的方法,…