接口隔离原则

2018-05-31  本文已影响86人  码出高效

 接口分为两种:

 实例接口:

   在java中声明一个类,然后用new关键字产生一个实例,压实对一个类型的事物的描述,这是一种接口,从某些角度来看,java中的类也是一种接口。

类接口:

java中经常使用的interface关键字定义的接口。

那 什么是接口隔离呢?

1 客户端不应该依赖它不需要的接口

2 类间的依赖关系应该建立在最小的接口上

剖析一下:

 客户端不应该依赖它不许要的接口,那么它依赖什么接口,当然是依赖它需要的接口,客户端需要什么接口你就提供什么接口,

再看第二种定义:

类间的依赖关系应该建立在最小的接口上,它要求是最小的接口,也是要求接口细化,接口纯洁。

通俗一点,接口尽量细化,同时接口中的方法尽量少。

看到这些 大家可能疑惑了?这不和单一职责不是相同的么 ?错,接口隔离原则与单一职责的审视角度不同,单一职责要求是类和接口的职责单一,注意是职责,这是业务上的划分,而接口隔离原则要求接口的方法尽量少。

思考一下这个接口有没有问题呢?是有的,还可以做好更好的优化。

人的审美是会变得。

分析可以发现,接口设计有缺陷,过于庞大,容纳了一些可变的因素。

下面将接口拆分:

接口一定要高内聚:

什么是高内聚?高内聚就是提高接口,类,模块的处理能力。减少对外的交互。具体到接口隔离原则就是尽量少公布public方法。接口是对外的承诺,承认越少对系统的开发越有利,变更的风险也就也就越少,同时也有利于降低成本。

接口的设计粒度越小,系统的灵活性越大,这是不争的实事。

最佳实战:

接口隔离原则是对接口的定义,同时也是对类的定义,接口和类尽量使用原子接口或原子类来组装。但是,这个原子该怎么划分呢,:

1  一个借口只服务于一个子模块或业务逻辑;

2  通过业务逻辑压缩接口中的public方法,接口时常去回顾,尽量让接口打到 “”满身金骨肉“ 而不是肥嘟嘟的。

3  已经被污染的接口,尽量去修改,若变更的风险大,才用适配器的模式进行转化处理。

最后还是那句话 模式是死的人是活的

上一篇 下一篇

猜你喜欢

热点阅读