`
aladdin_leon
  • 浏览: 118860 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

OOD的设计原则--接口隔离原则

阅读更多

     接口隔离原则(ISP):使用多个专门的接口比使用单一的总接口要好。也就是说,一个类对另外一个类的依赖性应当是建立在最小的接口上的。
     这里的“接口”往往有两种不同的含义:一种是指一个类型所具有的方法特征的集合,仅仅是一种逻辑上的抽象;另外一种是指某种语言具体的“接口”定义,有严格的定义和结构。比如Java语言里面的Interface结构。对于这两种不同的含义,ISP的表达方式以及含义都有所不同。(上面说的一个类型,可以理解成一个类,我们定义了一个类,也就是定义了一种新的类型)
     当我们把“接口”理解成一个类所提供的所有方法的特征集合的时候,这就是一种逻辑上的概念。接口的划分就直接带来类型的划分。这里,我们可以把接口理解成角色,一个接口就只是代表一个角色,每个角色都有它特定的一个接口,这里的这个原则可以叫做“角色隔离原则”。
     如果把“接口”理解成狭义的特定语言的接口,那么ISP表达的意思是说,对不同的客户端,同一个角色提供宽窄不同的接口,也就是定制服务,个性化服务。就是仅仅提供客户端需要的行为,客户端不需要的行为则隐藏起来。
     在我们进行OOD的时候,一个重要的工作就是恰当的划分角色和角色对应的接口。将没有关系的接口合并在一起,是对角色和接口的污染。如果将一些看上去差不多的接口合并,并认为这是一种代码优化,这是错误的。不同的角色应该交给不同的接口,而不能都交给一个接口。
     对于定制服务,这样做最大的好处就是系统的可维护性。向客户端提供接口是一种承诺,public接口后是不能改变的,因此不必要的承诺就不要做出,承诺越少越好。

        原文链接:http://blog.csdn.net/kxy/archive/2005/07/05/413950.aspx

 

 

分享到:
评论

相关推荐

    OOD设计基本原则 面向对象设计必备

    OOD 设计基本原则包括 OCP 原则、里氏替换原则、依赖倒置原则、接口隔离原则、聚合与继承原则、单一职责原则、Separation of concerns Principle 和 Pareto Principle 等。 OCP 原则(Open-Closed Principle)是 ...

    OOD原则 GRASP GOF

    4. **接口隔离原则(Interface Segregation Principle, ISP)**: 客户端不应该依赖它不需要的接口,应该将接口拆分为更小的、更具体的接口,让客户端只依赖它们真正需要的部分。 5. **依赖倒置原则(Dependency ...

    软件系统设计-设计模式 - 整体1

    接口隔离原则则是为了减少不必要的接口依赖,只暴露客户端真正需要的功能。 为了实现这些原则,依赖注入是一种常用的技术,它可以通过构造注入、设值注入或接口注入来管理对象间的依赖关系,使系统更易于测试和维护...

    c# OOP/OOD

    1. **SOLID原则**:SOLID是五个面向对象设计原则的首字母缩写,包括单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则指导我们编写可维护、可扩展的代码。 2. **设计模式**:设计模式是...

    Ruby 面向对象设计实践--2013年

    - **接口隔离原则**(Interface Segregation Principle, ISP):客户端不应该被迫依赖它不使用的方法。 - **依赖倒置原则**(Dependency Inversion Principle, DIP):高层模块不应该依赖低层模块,二者都应该依赖其...

    OOD启思录(高清)

    8. ** SOLID原则**:SOLID是面向对象设计的五个基本原则,包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)和依赖倒置原则(DIP)。这些原则指导我们编写易于维护和扩展的代码...

    OOD.rar_ood

    7. **原则与指导方针**:OOD遵循一些基本原则,如 SOLID 原则,包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)和依赖倒置原则(DIP)。这些原则有助于创建易于理解和维护的...

    面向对象七大基本设计原则.pdf

    5. 接口隔离原则(Interface Segregation Principle, ISP):不应该强迫客户依赖于它们不使用的接口。换句话说,接口应该细而专,不应该庞大而复杂。 文档中提到的Java setter可能是指在类中设置属性值的setter方法...

    面向对象设计的基本原则

    4. **接口隔离原则 (Interface Segregation Principle, ISP)** - 不应强迫客户依赖他们不需要的方法。这意味着应当将大而全的接口拆分为更小、更具体的接口,让客户端只依赖于需要的方法。 5. **依赖倒置原则 ...

    ood-solid:面向对象设计的SOLID原理

    这五条原则分别是单一职责原则(Single Responsibility Principle, SRP)、开闭原则(Open-Closed Principle, OCP)、里氏替换原则(Liskov Substitution Principle, LSP)、接口隔离原则(Interface Segregation ...

    面向对象设计原则:突破软件工程学习的质的飞跃

    4. **接口隔离原则(Interface Segregation Principle, ISP)**:提倡将大接口分解成多个小接口,以避免实现类被迫依赖它们不需要的方法。这有助于实现更细粒度的控制,并减少不必要的依赖关系。 5. **合成/聚合...

    61条面向对象设计的经验原则

    - **原则描述**:优先考虑接口隔离原则。 - **实践建议**:确保每个接口都只包含一组相关的方法。 #### 60. 谨慎使用多继承 - **原则描述**:谨慎使用多继承。 - **实践建议**:多继承可能会导致类之间的耦合度过...

    讲述了面向对象设计的原则

    接口隔离原则建议不要创建庞大的接口,而是应该为不同的客户端提供多个具体的接口。这样可以避免“客户端”被迫依赖它们不使用的接口,从而降低了类间的耦合度,提高了系统的灵活性。 #### 5. 依赖倒置原则...

    99丨总结回顾:在实际软件开发中常用的设计思想、原则和模式1

    SOLID原则包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)和依赖倒置原则(DIP)。其中,SRP确保每个类只有一个明确的责任,OCP让代码对扩展开放、对修改关闭,LSP保证子类...

    Uncle Bob OOD Principles

    4. **接口隔离原则(Interface Segregation Principle, ISP)**:客户端不应该被迫依赖它不需要的接口。这意味着应尽量避免创建过于庞大的接口,而是将其拆分为更小、更专注的接口,让客户端只依赖于自己真正需要的...

    面向对象设计的基本原则和实践建议

    4. **接口隔离原则(Interface Segregation Principle, ISP)**:客户端不应该被迫依赖它不使用的方法。这意味着应将大而全的接口拆分为更小、更专注的接口,让客户端只依赖于需要的部分。 5. **依赖倒置原则...

    ood启思录读书笔记

    #### 面向对象设计原则 - **避免将操作提升为类**:在设计时,应当谨慎对待那些名字来源于动词或动词短语的类,尤其是当它们仅有一个关键行为时。这类行为更适宜作为现有类的方法,而非单独的类,以保持代码的简洁...

    IBM _面向对象分析与设计__中文教程

    - SOLID原则:单一职责、开闭原则、里氏替换、接口隔离和依赖倒置,这些原则指导良好设计实践。 - DRY(Don't Repeat Yourself):避免重复,提倡代码重用。 - KISS(Keep It Simple, Stupid):保持设计简洁。 ...

    深入浅出面向对象分析与设计.pdf

    - **接口隔离原则**:客户端不应该被强迫依赖它不使用的接口。 - **迪米特法则**:一个对象应当对其他对象有尽可能少的了解。 #### 2.3 设计模式 设计模式提供了解决常见问题的通用解决方案,常见的设计模式包括:...

Global site tag (gtag.js) - Google Analytics