天天看点

六大设计原则 ——接口隔离原则

接口隔离就是单一接口,不要建立臃肿庞大的接口。再通俗一点就是接口尽量细化,同时接口方法尽量少。接口隔离原则和单一职责原则好像有相似性,但接口隔离原则与单一职责的审视角度是不相同,单一职责要求的是类和接口职责单一,注重职责,这是业务逻辑上的划分,而接口隔离原则要求接口的方法尽量少。例如一个接口的职责可能包含10个方法,这是个方法都在一个接口中,并且提供多个多个模块访问,各个模块按规定的权限来访问,在系统外通过文档约束“不使用的方法不要访问”,按照单一职责原则是允许的,按照接口隔离原则是不允许的,因为要求“尽量使用多个专门的接口”。专门接口是指什么?就是提供给每个模块的应该都是单一接口,提供给几个模块就应该有几个接口,而不是建立一个庞大的臃肿的接口,容纳所有的客户端访问。

接口隔离原则是对接口进行规范约束,其包含以下4层含义:

1.接口尽量小

这是接口隔离原则的核心定义,不出现臃肿的接口,但是“小”是有限度的,首先就是不能违反单一职责原则。

2.接口要高内聚

高内聚就是提高接口、类、模块的处理能力。接口是对外的承诺,承诺越少对系统的开发越有利,变更的风险也越少,同时也有利于降低成本。

3.定制服务

一个系统内的模块必然会有耦合,有耦合就要互相访问接口,我们设计时就需要为各个访问者定制服务,只提供访问者需要的方法。

4.接口设计是有限度的

接口的设计粒度越小,系统越灵活,这是不争的事实。但灵活的同时也带来了结构的复杂变化,可维护性降低,这不是一个项目或产品所期望看到的,接口设计一定要注意适度。

继续阅读