zoukankan      html  css  js  c++  java
  • 设计模式六大原则之接口隔离原则

    一、接口隔离原则

      基本介绍:客户端不应该依赖于它不需要的接口即一个类对另一个类的依赖应该建立在最小的接口上

      案例地址:https://github.com/Simple-Coder/design-pattern

    二、测试场景

        ①类A通过Interface1会依赖(使用)B,但是A中只会使用到接口中的1,2,3三个方法。

        ②类C通过Interface1会依赖(使用)D,但是C中只会使用到接口中的1,4,5三个方法。

      

    1、根据上述类图设计进行编写代码

     分析

      ①B、D分别实现了Interface1的5个方法

      ②A依赖使用B时只用到了1,2,3方法,即B实现的4,5方法可以说是白写了,因为我们没用到

      ③C依赖使用D时只用到了1,4,5方法,即D实现的2,3方法可以说也是白写了,因为我们也没用到

    问题

      类A通过接口Interface1依赖类B,类C通过接口Interface1依赖类D,如果接口Interface1对于类A和类C来说都不是最小接口,那么类A和类D都必须实现它们不需要的方法

    2、根据接口隔离原则改造

      采用接口隔离原则:将接口interface1拆分为独立的几个接口,类A与类C分别与它们需要的接口建立依赖关系

                                                       

    2.1代码实现

    2.2操练一把

     三、总结

      1、如上述方案1,如不使用接口隔离原则,则会造成浪费,例A通过接口依赖B使用1、2、3方法,而B实现了所有方法,A却没有用到4、5方法,这不是浪费嘛

      2、接口隔离原则:客户端不应该依赖于它不需要的接口即一个类对另一个类的依赖应该建立在最小的接口上(接口中我用不到的方法,把接口拆分成小的接口,依赖小接口

  • 相关阅读:
    mysql标准写法及其他常见问题
    java动态代理_aop2
    java动态代理_aop
    oracle11g exp导出问题:部分表导不出来
    决策树算法学习笔记
    阿里云九折优惠码
    标准差(Standard Deviation) 和 标准误差(Standard Error)
    Pipeline 与 xargs
    【Linux运维-集群技术进阶】Nginx+Keepalived+Tomcat搭建高可用/负载均衡/动静分离的Webserver集群
    求最大连续和——dp
  • 原文地址:https://www.cnblogs.com/rmxd/p/12538846.html
Copyright © 2011-2022 走看看