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

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

阅读更多

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

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

 

 

分享到:
评论

相关推荐

    OOD-Principles-In-Swift, 关于Bob叔叔的文章,基于OOD的原理.zip

    OOD-Principles-In-Swift, 关于Bob叔叔的文章,基于OOD的原理 import Swiftimport Foundation Swift 4中的OOD原理使用 Xcode 9游乐场( OOD-Principles-In-Swift.playground.zip )的短备忘单。 也兼

    OOD设计基本原则整理.doc

    OOD设计基本原则 一. 开-闭原则 :我们改变不了历史,但我们可以改变未来。

    OOD启思录-面向对象圣典(英文版)

    OOD启思录-面向对象圣典(英文版) Insights into oo design improvement.  More than sixty guidelines are languageindependent and allow one to rate the integrity of a software design.  The heuristics ...

    软件设计的七大原则(OOD)

    软件设计的七大原则(OOD) software设计的七大原则是指在软件设计中遵守的一些基本原则,以提高软件的可复用性、灵活性、可扩展性和可维护性。其中包括SRP(单一职责原则)、OCP(开闭原则)、LSP(里氏替换原则)...

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

    OCP原则 里氏替换原则 依赖倒置原则 接口隔离原则 聚合与继承原则 单一职责原则 Separation of concerns Principle Pareto Principle (帕雷多原则 80/20原则)

    图书管理系统-OOD-设计准备知识.ppt

    "图书管理系统-OOD-设计准备知识" 本知识点总结了图书管理系统的OOD设计准备知识,涵盖了软件设计、模块化设计、软件设计阶段、软件设计目标、软件设计概述、软件结构设计过程、软件设计质量原则、概要设计说明书...

    OOD-Assignment-12-MVC-Pattern

    OOD-Assignment-12-MVC-Pattern 一个使用MVC模式显示特定员工姓名和ID号的程序。

    OOD-detection-using-OECC:具有置信度控制的异常值分布,用于分布外检测

    使用OECC进行OOD检测 该存储库包含纸的的基本代码。 在2021年被Neurocomputing接受为Journal文章。 1.什么是具有信心控制的异常值暴露(OECC)? 是一种技术,可帮助深度神经网络(DNN)学习如何区分分布内(OOD)...

    OOD面试应对方法 SOLID原则.mp4

    应届生及亚马逊面试必考,IT求职必备基础。 S - Single-responsiblity principle 单一责任原则 ...I - Interface segregation principle 接口分离原则 D - Dependency Inversion Principle 依赖反转原则

    如何解释OOD及设计

    看外国专家简单明了讲解如何解释OOD及设计

    面向对象设计OOD 面向对象设计OOD

    面向对象设计OOD 面向对象设计OOD 面向对象设计OOD 面向对象设计OOD

    面向对象软件开发技术(OOA-OOD-OOP)

    面向对象软件开发技术(OOA-OOD-OOP)

    OOD-JAVA-Project1

    设计图书馆管理系统图书馆管理系统是为处理图书馆的主要整理功能而构建的软件。 图书馆依靠图书馆管理系统来管理资产集合以及与其成员之间的关系。 图书馆管理系统可帮助图书馆跟踪书籍及其结帐,以及会员的订阅和...

    OOD启思录 高清pdf

     全书共11章,总结出了60多条面向对象设计(OOD)的指导原则。这些经验原则涵盖了从类到对象(主要强调它们之间的关系,包括关联、使用、包含、单继承、多继承)到面向对象物理设计的重要主题。本书将帮助你理解经验...

    面向对象设计OOD思想

    面向对象设计(OOD)思想(示例代码见文末下载连接)收藏 有了思想才能飞翔,缺乏灵活就象少了轮子的汽车,难以飞奔。为了更好的理解设计思想,结合一个尽可能简洁的实例来说明OOD、设计模式及重构。通过下面的代码,...

    面向对象设计原则

    OOD六大设计原则及其内涵,用实例解析

    图书管理系统OOA-OOD报告.pdf

    在OOD阶段,作者对图书管理系统的设计和实现进行了详细的设计,包括数据库设计、系统架构设计、用户界面设计等。 在报告的最后,作者还对图书管理系统的实现和测试进行了详细的描述,包括系统的静态设计、系统的...

    图书管理系统-OOD-状态图和通信.ppt

    图书管理系统-OOD-状态图和通信.ppt 是一个教学课件,介绍了图书管理系统的对象导向设计(OOD)和状态图。该系统主要包括登录、办理归还、添加图书、添加用户、新办借阅证等用例。 一、BCE 模式 BCE 模式是 ...

    如何向妻子解释面向对象设计(OOD)

    如何向妻子解释面向对象设计(OOD)

Global site tag (gtag.js) - Google Analytics