ISP:接口隔离原则

接口隔离原则-before

在上图应用中,有多个用户需要操作OPS类。现在,我们假设这里的User1只需要使用op1,User2只需要使用op2,User3只需要使用op3。在这种情况下,如果OPS类,User1虽然不需要调用op2和op3,但在是源代码层次上它们也形成起来关系。这种依赖关系意味着我们对op2和op3所做的修改,即使不会影响大User1的功能,也会导致它需要重新编译和部署。

接口隔离原则-after

修改之后User1的源代码会依赖于UlOps和op1,但是不会依赖OPS。我们之后对OPS做的修改只要不影响到User1的功能,就不需要重新编译和部署User1了。

任何层次的软件设计如果依赖了不需要的东西,都会是有害的。从源代码层次来说,这种依赖导致不必要的重新编译和重新部署。

如果两个类不必彼此直接通信,那么这两个累就不应该发生直接的相互作用。如果其中给一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。类之间的耦合越弱,越有利于复用。一个处在弱耦合的类被修改,不会对有关系的类造成波及。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Interface Segregation Principle 动机 当我们试图去设计软件应用时,我们要仔细思考如...
    holysu阅读 1,785评论 0 2
  • SRP 单一职责原则 OCP 开闭原则 LSP 里氏替换原则 ISP 接口隔离原则 DIP 依赖反转原则 在架构之...
    Brown_阅读 1,099评论 1 48
  • 1. NSOperation、NSOperationQueue 简介 NSOperation、NSOperatio...
    稻春阅读 891评论 0 0
  • 序 程序员的三个层次(1) 普通程序员编写代码,能够让程序跑起来的人。(2) 工程师有“洁癖”、有工匠精神、有修养...
    nimw阅读 1,711评论 0 3
  • 有一个非常流行的故事,以前就看过,这两天又有了许多新的感悟。故事内容大致如下:一个人问上帝“为什么天堂里的人快乐,...
    自律的人生才自由阅读 12,895评论 0 0