面向对象设计模式之接口隔离原则

接口隔离原则(Interface Segregation Principle)讲的是:使用多个专门的接口比使用单一的接口总要好。换言之从一个客户类的角度来讲:

一个类对另外一个类的依赖性应当是建立在最小接口上的。过于臃肿的接口是对接口的污染。不应该强迫客户依赖于它不用的方法。

接口隔离原则的定义如下:

   客户端不应该依赖那些它不需要的接口。

另一种定义方法如下:

  一旦接口太大,则需要将它分割成一些更细小的接口,使用该接口的客户端仅需要知道与之相关的方法即可。

接口隔离原则是指使用多个专门的接口(抽象类也是接口),而不是使用单一的总接口。每个接口应该承担一种相对独立的角色,不多不少,不干不该干的事,该干的事情都要干。

  (1)一个接口只代表一个角色,每个角色都有它特定的一个接口,此时这个原则可以叫做"角色隔离原则"。

  (2)接口仅仅提供客户端需要的行为,即所需的方法,客户端不需要的行为则隐藏起来,应当为客户提供尽可能小的单独接口,而不是提供大的总结口。

使用接口隔离原则对接口进行约束时,需要注意以下几点:

  接口尽量小,但是要有限度。对接口进行细化可以提高程序设计的灵活性是不争的事实,但是如果过小,则会造成接口数量过多,使设计复杂化,所以一定要适度。

  为依赖接口的类定制服务,只暴露给调用的类需要的方法,它不需要的方法则隐藏起来。只有专注地为一个模块提供定制服务,才能建立最小依赖关系。

  提高内聚,减少对外交互。使接口用最少的方法完成最多的事情。

运用接口隔离原则,一定要适度(类中的接口数量要适度),接口设计的过大或过小都不好,设计接口的时候,只有多花时间去思考和筹划

才能准确地实践这一原则。

  • 添加到短语集
     
    • 没有此单词集: -> ...
       
    • 创建新的单词集...
  • 拷贝
  • 添加到短语集
     
    • 没有此单词集: -> ...
       
    • 创建新的单词集...
  • 拷贝

猜你喜欢

转载自www.cnblogs.com/sy-liu/p/12952920.html