专栏首页烟草的香味6大设计原则之接口隔离原则

6大设计原则之接口隔离原则

接口隔离原则的定义

什么是接口.

  1. 实例接口,比如定义了一个Person类,然后 Person p = new Pserson(); 产生一个实例,Person类就是 p 的接口
  2. 类接口,就是Java中使用 interface 定义的接口

什么是隔离

隔离要求将接口尽量细化,同时接口中的方法尽量少.

接口隔离原则的实现

比如现在有一个人,他身兼数职,是一个老师,要教书,是一个学生,要学习,类图如下:

如果有一天,他不在教书了,或者又有了新的职业,那我们还要修改调用该类的代码,更好的做法是将臃肿的接口变更为几个独立的接口

在使用时的时候通过接口调用.接口是我们设计时对外提供的契约,通过分散定义多个接口,可以预防未来变更的扩散,提高系统的灵活性和可维护性.

接口的规范约束

  1. 接口要尽量小,这是接口隔离原则的核心定义,但是"小"是有限度的,首先就是不能违背单一职责原则.
  2. 接口要高内聚,高内聚就是提高接口、类、模块的处理能力,减少对外的交互.具体就是,要求在接口中尽量少公布 public 方法,接口是对外的承诺,承诺越少对系统的开发越有利,变更的风险也就越少,同时也有利于降低成本
  3. 定制服务,定制服务就是单独为一个个体提供优良的服务,只提供访问者需要的方法
  4. 接口设计是有限度的,接口的设计粒度越小,系统越灵活.但是,灵活的同时也带来了结构的复杂化,开发难度增加,可维护性降低,所以接口设计一定要注意适度.

接口隔离原则就是对接口的定义,同时也是对类的定义,接口和类尽量使用原子接口或原子类来组装.

本文分享自微信公众号 - 烟草的香味(hujing-bc),作者:胡靖哥哥

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-12-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java8 默认方法

    默认方法就是接口可以有实现方法,而且不需要实现类来实现其方法。相对于JDK1.8之前的接口来说,新增了可以接口中实现方法。

    烟草的香味
  • 6大设计原则之开闭原则

    开闭原则的定义: 一个软件实体,如类、模块和函数应该对扩展开放,对修改关闭.即一个软件实体应该通过扩展来实现变化,而不是通过修改已有的代码来实现变化.

    烟草的香味
  • 6大设计原则之单一职责原则

    我想,任谁也能看的出这个接口设计的有问题,用户的属性和用户的行为没有分开,应该把用户的信息抽取成一个业务对象,把用户的行为抽取成一个业务对象,按照这个思路对类图...

    烟草的香味
  • Go语言核心编程(4)——接口

    Go 语言的接口分为接口字面量类型和接口命名类型,接口的声明使用 interface 关键字 。 接口定义大括号内可以是方法声明的集合, 也可以嵌入另一个接口...

    羊羽shine
  • [日常] 编写HTTP接口文档

    一、什么是接口文档? 在项目开发中,web项目的前后端分离开发,APP开发,需要由前后端工程师共同定义接口,编写接口文档,之后大家都根据这个接口文档进行开发,到...

    陶士涵
  • Java入门 - 面向对象 - 06.接口

    原文地址:http://www.work100.net/training/java-interface.html

    光束云
  • 一分钟了解“好”接口的设计与实现

    一、好接口的特性 易读 易用,难于误用 功能独立 容易扩展 二、好接口设计的基本原则 只做并做好一件事 函数名自解释 不恰当的函数名,往往是不恰当设计的征...

    架构师之路
  • 数据结构与算法2016-06-03

    一个算法调用自己来完成它的部分工作,在解决某些问题时,一个算法需要调用自身。如果一个算法直接调用自己或间接调用自己,就称这个算法是递归的。根据调用方式的不同,它...

  • Java基础系列(二十四):接口入门

    接口主要用来描述类具有什么功能,而并不给出每个功能的具体实现。一个类可以实现一个或多个接口,并在需要接口的地方,随时使用实现了相应接口的对象。接口主要就是对行为...

    Vi的技术博客
  • 接口测试

    模拟客户端向服务器发送请求,服务器接收请求后对相应的请求做处理并向客户端返回响应结果,客户端接收结果的一个过程

    zx钟

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动