接口是用来系统间通信的定义,尤其异构系统之间的通信,接口的设计尤其重要。
一、 什么是好的接口?
对接口调用方来说:
- 定义清楚,易于理解,接口定义不晦涩难懂,命名按特定规则;错误处理完整;
- 调用简单,调用简单包括接口调用实现简单,数据定义简单(有的接口会定义入参长度必须满足N位,不足用某字符补充);还有业务逻辑实现简单,无需调用多个强依赖关系的接口;
- 扩展容易,接口新增字段,无需改动太多;
- 向下兼容,接口升级后,调用方不需要立即对接新的接口;
对接口设计者来说:
- 定义清晰,易于维护;
- 业务清晰,逻辑合理;
- 保持低耦合,高内聚,接口改动后对其他接口不要有影响;
- 易于扩展,支持需求变化。
二、接口设计原则
- 如无必要,不增接口;
- 单一职责;
- 高内聚,低耦合;
- 出入参定义清晰,命名统一;
- 复杂业务,有明确的业务流程图;
- 有统一的名词解释、数据字典;
- 清晰的返回状态及消息;
- 关键字段加密处理,统一的加密方式;