接口设计的准则

Mar 9, 2020 09:20 · 250 words · 1 minute read Architecture

什么是接口?

  • 模块的使用界面,也就是规格,比如公开的类或函数
  • 模块对依赖环境的抽象

模块使用界面

KISS (Keep it Simple, Stupid) 原则

模块的环境依赖

模块与模块之间的契约。

  • 使用界面的依赖 LKP (Least Knowledge Principle) 最少知识原则
  • 实现依赖
    • 直接依赖所基于的组件(首选)
    • 将所依赖的组件所有被引用的方法抽象成一个接口

什么时候考虑把依赖抽象化?

  • 在需要提供多种选择的时候,容易出现过渡设计
  • 在需要解除一个庞大的外部系统的依赖时
  • 在依赖的外部系统为可选组件时

整体来说,对模块的实现依赖进行接口抽象,本质是对模块进行配置化,增加很多配置选项,这样的配置化需要谨慎,适可而止。