如何设计接口

接口是用来系统间通信的定义,尤其异构系统之间的通信,接口的设计尤其重要。

一、 什么是好的接口?

对接口调用方来说:

  1. 定义清楚,易于理解,接口定义不晦涩难懂,命名按特定规则;错误处理完整;
  2. 调用简单,调用简单包括接口调用实现简单,数据定义简单(有的接口会定义入参长度必须满足N位,不足用某字符补充);还有业务逻辑实现简单,无需调用多个强依赖关系的接口;
  3. 扩展容易,接口新增字段,无需改动太多;
  4. 向下兼容,接口升级后,调用方不需要立即对接新的接口;

对接口设计者来说:

  1. 定义清晰,易于维护;
  2. 业务清晰,逻辑合理;
  3. 保持低耦合,高内聚,接口改动后对其他接口不要有影响;
  4. 易于扩展,支持需求变化。

二、接口设计原则

  1. 如无必要,不增接口;
  2. 单一职责;
  3. 高内聚,低耦合;
  4. 出入参定义清晰,命名统一;
  5. 复杂业务,有明确的业务流程图;
  6. 有统一的名词解释、数据字典;
  7. 清晰的返回状态及消息;
  8. 关键字段加密处理,统一的加密方式;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,404评论 25 708
  • 这篇文章简单总结下我是如何设计接口测试用例的。 今天在帮同事review代码的时候,发现他的代码遗漏了一些场景的处...
    程序熊大阅读 3,181评论 2 11
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,958评论 19 139
  • 地铁上,背着背包,好生踏实。一直渴望有一个背包,幻想了很久很久,可以用年来计单位。在我有一次漫无边际走路时,竟然和...
    LOVE玲媛阅读 203评论 0 0
  • 亲爱的同学们: 大家好! 忆往昔,青葱岁月,寒窗苦读,抵足而眠,同饮一井水,共餐一锅饭。云岩三载,兄妹怡怡,终生难...
    清水一滴阅读 4,605评论 0 1