`
dq1618
  • 浏览: 57077 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

接口分离原则

阅读更多
采用多个与特定客户类有关的接口比采用一个通用的涵盖多个业务方法的接口要好。

  ISP原则是另外一个支持诸如COM等组件化的使能技术。缺少ISP,组件、类的可用性和移植性将大打折扣。

  这个原则的本质相当简单。如果你拥有一个针对多个客户的类,为每一个客户创建特定业务接口,然后使该客户类继承多个特定业务接口将比直接加载客户所需所有方法有效。

  图4展示了一个拥有多个客户的类。它通过一个巨大的接口来服务所有的客户。只要针对客户A的方法发生改变,客户B和客户C就会受到影响。因此可能需要进行重新编译和发布。这是一种不幸的做法。



图4 带有集成接口的服务类

  我们再看图-5中所展示的技术。每个特定客户所需的方法被置于特定的接口中,这些接口被Service类所继承并实现。


图5 使用接口分离的服务类设计

  如果针对客户A的方法发生改变,客户B和客户C并不会受到任何影响,也不需要进行再次编译和重新发布

分享到:
评论

相关推荐

    8接口分离原则-课程内容.rar

    8接口分离原则-课程内容.rar

    8接口分离原则-MOOC课程内容.pdf

    8接口分离原则-MOOC课程内容.pdf

    面向对象的11个原则

    接口分离原则(The Interface Segregation Principle) 包的的设计原则 发布/重用等价原则(REP) 公共闭合原则(CCP) 共同重用原则(CRP) 非循环依赖原则(ADP) 稳定依赖原则(SDP) 稳定抽象原则(SAP)。

    设计原则.ppt

    面向对象的设计原则 单一职责原则 开闭原则 里氏替换原则 依赖倒置原则 接口分离原则 迪米特法则 合成复用原则

    OOP(面向对象编程)四个基本原则

    面向对象编程的四个基本原则 1、开放封闭原则 2、依赖倒置原则 3、接口分离原则 4、Liskov替换原则

    面向对象设计原则(整理)

    单一职责原则(SRP)、开放-封闭原则(OCP)、Liskov替换原则(LSP)、依赖倒置原则(DIP)、接口分离原则(ISP)

    ASP.NET设计模式-杨明军译(源码)

    5.3.2 接口分离原则 5.3.3 里氏替换原则 5.4 小结 第6章 服务层 6.1 服务层介绍 6.1.1 SOA 6.1.2 SOA的4项信条 6.1.3 Facade设计模式 6.2 应用Messaging模式 6.2.1 Document Message和 Request-Response...

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

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

    面向对象设计原则源码及文档

    面向对象设计原则是OOPS(Object-Oriented ...这些原则已知的有七个,包括:单一职责原则、开闭原则、里氏代换原则、依赖注入(倒转)原则、接口分离原则、迪米特原则、合成聚合复用原则。(文件包括实例源码及文档)

    亮剑.NET深入体验与实战精要2

    13.6.7 接口分离原则(ISP) 489 13.6.8 面向对象设计时需要注意的 问题 490 本章常见技术面试题 491 本章小结 491 第14章 三层架构项目开发 493 14.1 什么是三层架构 494 14.1.1 常用的三层架构设计 494 14.1.2 ...

    亮剑.NET深入体验与实战精要3

    13.6.7 接口分离原则(ISP) 489 13.6.8 面向对象设计时需要注意的 问题 490 本章常见技术面试题 491 本章小结 491 第14章 三层架构项目开发 493 14.1 什么是三层架构 494 14.1.1 常用的三层架构设计 494 14.1.2 ...

    深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP

    前言 Bob大叔提出并发扬了S.O.L.I...The Interface Segregation Principle(接口分离原则ISP) The Dependency Inversion Principle(依赖反转原则DIP) 五大原则,我相信在博客园已经被讨论烂了,尤其是C#的实现,但是

    Java语言:什么叫面向接口编程

     接口从更深层次的理解,应是定义(规范,约束)与实现(名实分离的原则)的分离。  我们在一般实现一个系统的时候,通常是将定义与实现合为一体,不加分离的,我认为最为理解的系 统设计规范应是所有的定义与实现...

    支持网络动态重构的可信构件模型

    基于构件接口分离原则和动态软件体系结构技术,提出了一种支持网络动态重构的可信构件模型,对构件构造和组装进行了分析,并提出了可信数据安全封装机制。基于感知、决策和执行分离机制,构件模型可以支持构件重构,...

    接口基础知识

    接口体现了约定和实现分离的原则。 4. 抽象类利于代码复用,接口利于代码维护。 5. 通过面向接口编程,可以降低代码将的耦合性,提高代码的可扩展性和可维护性。 6. 面向接口编程意味着:开发系统时主体构造使用接口...

    敏捷软件开发:原则、模式与实践.pdf

    12.2 分离客户就是分离接口 12.3 接口隔离原则(ISP) 12.4 类接口与对象接口 12.5 ATM用户界面的例子 12.6 结论 参考文献 第Ⅲ部分 薪水支付案例研究 第十三章 COMMAND模式和ACTIVE OBJECT模式 第十四章 TEMPLATE ...

    敏捷软件开发:原则、模式与实践.pdf 高清

    12.2 分离客户就是分离接口 12.3 接口隔离原则(ISP) 12.4 类接口与对象接口 12.5 ATM用户界面的例子 12.6 结论 参考文献 第Ⅲ部分 薪水支付案例研究 第十三章 COMMAND模式和ACTIVE OBJECT模式 第十四章 TEMPLATE ...

    JAVA六大原则代码.zip

    这个原则鼓励将不同的功能分离到不同的类中,以减少类的复杂性,提高代码的可维护性。 开放封闭原则(Open-Closed Principle,OCP):软件实体应该对扩展开放,对修改关闭。这意味着当需要添加新功能时,应该通过...

    敏捷软件开发:原则、模式与实践

    12.2 分离客户就是分离接口 12.3 接口隔离原则(ISP) 12.4 类接口与对象接口 12.5 ATM用户界面的例子 12.6 结论 参考文献 第Ⅲ部分 薪水支付案例研究 第十三章 COMMAND模式和ACTIVE OBJECT模式 第十四章 TEMPLATE ...

    若依通用权限管理系统接口文档,是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Spring

    若依是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring ...它遵循"约定优先于配置"的原则, 使用SpringBoot只需很少的配置,大部分的时候直接使用默认的配置即可。同时可以与Spring Cloud的微服务无缝结合

Global site tag (gtag.js) - Google Analytics