接口隔离原则 使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口. 从接口隔离原则的定义可以看出,他似乎跟SRP有许多相似之处. 是的其实ISP和SRP都是强调职责的单一性, 接口隔离原则告诉我们在定义接口的时候要根据职责定义“较小”的接口,不要定义“高大全”的接口. 也就是说接口要尽可能的职责单一,这样更容易复用,暴露给客户端的方法更具有“针对性”. 遵守接口隔离原则,会使代码量增加不少,源码中也是这样. 当方法随着业务需求的增加而不断增加的话,如果我们不应用接口隔…
在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据7条原则来开发程序,从而提高软件开发效率,节约软件开发成本和维护成本. 这7条原则分别是:开闭原则.里氏替换原则.依赖倒置原则.单一职责原则.接口隔离原则.迪米特法则.合成复用原则. 接下来是对这7个原则的详细介绍. 开闭原则(OCP,Open Closed Principle) 定义 开闭原则(Open Closed Principle,OCP)由勃兰特·梅耶(Bertrand Meyer)提出,他…
接口分离原则(Interface Segregation Principle)用于处理胖接口(fat interface)所带来的问题.如果类的接口定义暴露了过多的行为,则说明这个类的接口定义内聚程度不够好.换句话说,类的接口可以被分解为多组功能函数的组合,每一组都服务于不同的客户类,而不同的客户类可以选择使用不同的功能分组. ISP 原则承认了对象设计中非内聚接口的存在.但它建议客户类不应该只通过一个单独的类来使用这些接口.取而代之的是,客户类应该通过不同的抽象基类来使用那些内聚的接口.在不同…
北风设计模式课程---接口分离原则(Interface Segregation Principle) 一.总结 一句话总结: 接口分离原则描述为 "客户类不应被强迫依赖那些它们不需要的接口". 接口不是为特定的客户类服务,而服务了多个不同的客户类. 1.接口分离原则(Interface Segregation Principle)用来解决什么问题? 用于处理胖接口(fat interface)所带来的问题:如果类的接口定义暴露了过多的行为,则说明这个类的接口定义内聚程度不够好.换句话说…
接口隔离原则定义如下: 接口隔离原则(Interface  Segregation Principle, ISP):使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口. 根据接口隔离原则,当一个接口太大时,我们需要将它分割成一些更细小的接口,使用该接口的客户端仅需知道与之相关的方法即可.每一个接口应该承担一种相对独立的角色,不干不该干的事,该干的事都要干.这里的“接口”往往有两种不同的含义:一种是指一个类型所具有的方法特征的集合,仅仅是一种逻辑上的抽象:另外一种是指某…
ISP(Interface Segregation Principle),接口隔离原则 它要求如下: ①  一个类对另一个类的依赖性要建立在最小接口上. ②  使用多个专门的接口比使用单一的总接口要好. ③  没有关系的接口不可合并成一个臃肿的大接口. ④  对于臃肿的大接口应分成几个合适的小接口. 接口分离方法: 1.使用委托分离接口:把请求委托给别的接口的实现类来完成需要的职责. 2.使用多重继承分离接口:通过实现多个接口来完成需要的职责. 总结: 大接口导致客户程序之间产生不必要的耦合关系…
接口隔离原则: 1.使用多个专门的接口比使用单一的总接口要好. 2.一个类对另外一个类的依赖性应当是建立在最小的接口上的. 3.一个接口代表一个角色,不应当将不同的角色都交给一个接口.没有关系的接口合并在一起,形成一个臃肿的大接口,这是对角色和接口的污染. 4.“不应该强迫客户依赖于它们不用的方法.接口属于客户,不属于它所在的类层次结构.”这个说得很明白了,再通俗点说,不要强迫客户使用它们不用的方法,如果强迫用户使用它们不使用的方法,那么这些客户就会面临由于这些不使用的方法的改变所带来的改变.…
using System; using System.Collections.Generic; using System.Text; namespace InterfaceSegregationPrinciple { //接口隔离原则(Interface Segregation Principle)ISP //Clients should not be forced to depend upon interfaces that they don's use.(客户端不应该依赖它不需要的接口) /…
接口隔离原则 Interface Segregation Principle    定义: 客户端不应该依赖它不需要的接口 类间的依赖关系应该建立在最小的接口上 我们可以把这两个定义概括为一句话:建立单一接口,不要建立臃肿庞大的接口.再通俗一点讲:接口尽量细化,同时接口中的方法尽量少. 提供给每个模块的都应该是单一接口,提供给几个模块就应该有几个接口,而不是建立一个庞大的臃肿的接口,容纳所有的客户端访问. 接口是我们设计时对外提供的契约,通过分散定义多个接口,可以预防未来变更的扩散,提高系统的灵…
设计模式之六大原则——接口隔离原则(ISP)  转载于:http://www.cnblogs.com/muzongyan/archive/2010/08/04/1792528.html 接口隔离原则 Interface Segregation Principle    定义: 客户端不应该依赖它不需要的接口 类间的依赖关系应该建立在最小的接口上 我们可以把这两个定义概括为一句话:建立单一接口,不要建立臃肿庞大的接口.再通俗一点讲:接口尽量细化,同时接口中的方法尽量少. 提供给每个模块的都应该是单…