在一个模块或者类运行时,总会涉及某些依赖项,从变动的角度看,分为两种:稳定依赖性和不稳定依赖性。
稳定依赖性
- 开发已经完成
- 运行环境确定或者对运行环境的变动不敏感,例如:只在某些机器某些版本的系统上运行。
- 有着可预期的行为模式,例如:此模块只做xxx功能。
- 持续性长,后期几乎无改动
- 其对外无依赖或者依赖项也属于稳定性依赖且数量少
最显著的稳定性依赖性特点就是常说的硬编码,直接写在代码库里面。
不稳定依赖性
- 正在开发中
- 运行环境不确定
- 后续此模块会被替换或者进行额外功能的添加
- 变动频繁
- 运行需要繁琐准备或者必须指定特定环境才能使用
在开发中,常会以接口的方式将稳定和不稳定依赖进行隔离,以应对后续的变更。