接口隔离原则有哪些

接口隔离原则有哪些,第1张

  C#接口,即Interface,每个人都很知道它并了解它。但知道和了解,并不表示,你能把它用好。

  实际上,如果看下你身边工作中的同事,包括你自己,回想一下,自己平时写代码所定义的接口多不多?很遗憾,我没有确切的统计数据,根据我个人的经验来看,4年经验以下的程序员,基本不怎么自己编写接口,抽象类甚至也很少。

  4年经验以下的程序员,通篇程序,充斥着各种不是public就是private,以及staTIc。此观点代表个人经验,非统计数据。

  本文不讲解面向对象,不铺开,所以仅针对接口来说。

  回归话题,接口,首先我们回顾一下面向对象的设计原则之一:接口隔离原则。

  接口隔离原则,就是要以最小的依赖来创建接口。通常我们一个类,可能会需要实现很多方法,如果将这么多的方法都抽象在同一个接口上,那么就会产生强依赖,不利于扩展。因为别人也会想要用这个接口,但是你在接口中定义了那么多的方法,我只要想实现你的接口,就必须实现你所有的方法,这个依赖性就太强了。所以,接口隔离原则,就是将业务设计进行最小的划分创建各自的接口。

  我们以例子说明:

  接口隔离原则有哪些,第2张

  接口隔离原则有哪些,第3张

  上面的例子是以头条为例简单写的一个类,如果不加以隔离,那么它对应的接口将是这样子的:

  接口隔离原则有哪些,第4张

  此时,如果另一个类A它只需要app列表,然后去做其它事情,那么它继承了这个IByteDance接口,它就不得不实现它所有的方法。而实际上,这个新类A它仅仅需要下面这一个方法就足够了:

  接口隔离原则有哪些,第5张

  如此,就造成了接口依赖性强,强加了各种别人不需要的方法。

  那么我们要如何改造这个接口呢?可以按业务设计拆分下面的多个接口:

  接口隔离原则有哪些,第6张

  接口隔离原则有哪些,第7张

  然后将类ByteDance继承自IByteDance接口:

  接口隔离原则有哪些,第8张
责任编辑人:CC

  ​

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2445745.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-03
下一篇 2022-08-03

发表评论

登录后才能评论

评论列表(0条)

保存