接口隔离原则

接口隔离原则

定义:不应该强行要求客户端依赖于它们不用的接口;

类之间的依赖应该建立在最小的接口上面。

解释:

客户端需要什么功能,就提供什么接口,我的实体类需要什么方法就添加什么方法。

类之间的依赖应该建立在最小的接口上面接口尽可能细分。能够满足项目需求的相似功能作为一个接口,体现高内聚,低耦合”最好

臃肿接口的案例(胖接口):

 

如果要去实现上述接口要实现所有的方法,所有这不是有个很好的借口。如果让你选择陪女票还是敲代码,,,,,,,也许不存在的,,,,,,代码还是我的最爱

对接口进行拆分:

公共的接口:

 

 有女票的接口:

 

 无女朋友接口:

 

核心:建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少。也就是说,我们要为各个类建立专用的接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。

与单一职责原则的区别:

单一职责原则主要是约束类,其次才是接口和方法,它针对的是程序中的实现和细节;而接口隔离原则主要约束接口接口,主要针对抽象,针对程序整体框架的构建。

单一职责原则更加偏向对业务的约束,接口隔离原则更加偏向设计架构的约束。这个应该好理解,职责是根据业务功能来划分的,所以单一原则更加偏向业务;而接口隔离更多是为了“高内聚”,偏向架构的设计。

注意事项:

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

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

运用接口隔离原则,一定要适度,接口设计的过大或过小都不好。设计接口的时候,只有多花些时间去思考和筹划,才能准确地实践这一原则。

原文地址:https://www.cnblogs.com/jikjk/p/10507619.html