设计模式笔记(四)设计六大原则之四--接口隔离原则

来源:互联网 发布:罗赛塔石碑软件 编辑:程序博客网 时间:2024/06/06 00:49

定义

1.接口:

实例接口:在java中声明的一个类,然后用new关键字产生一个实例,他是对一个类型事物的描述,这是一种接口。比如定义Person这个类,然后Person zhangSan = new Person()产生了一个实例,这个实例要遵从的标准就是Person这个类,Person类就是zhangSan的接口。

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

2.隔离:
客户端不应该依赖它不需要的接口。
类间的依赖关系应该建立在最小的接口上。

即:建立单一接口,接口尽量细化,而且接口中的方法尽量少。

含义

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

接口要尽量小

核心含义。不出现臃肿的接口,但是小也是有限度的,首先不能违反单一职责原则。比如将IPhone接口拆分成协议管理IConnectionManger(负责接电话和挂电话)和数据传送IDataTransfer接口(负责聊天),是否要把协议管理再细化为两个接口,一个负责连接,一个负责挂电话呢?但是如果拆分了就不符合单一职责原则了。

接口要高内聚

高内聚就是提高接口和类的处理能力,减少对外的交互。具体到接口隔离中就是,要求在接口中尽量减少对外公布public方法,接口是对外的承诺,承诺越少开发越有利,变更风险也就越少,同时也有利于降低成本。

定制服务

我们在项目中常常会需要考虑系统之间或模块之间的接口的服务,他们一般都是定制服务。即模块需要什么方法,就提供什么方法。但是如果他们都可以调用同一个方法,那么风险会大大增加,最好是一个接口服务于一个模块。

接口设计是有限度的

接口设计颗粒度越小,确实越灵活。但是灵活的同时也带来了复杂化,开发难度增加,可维护性降低。所以要注意适度。

阅读全文
0 0
原创粉丝点击