
可替代性指一个对象换成另一个以后,在指定关系中仍能完成所需功能。两节外观不同的AA电池,只要尺寸、电压和接点符合要求,都可能让同一只时钟运行;它们不必在品牌、容量或寿命上完全一样。
因此,可替代性不是“两个东西相同”,也不只是手边有备份。等价性把某些差异视为与问题无关;可替代性进一步要求实际换入之后,相关行为仍成立。冗余则强调备用资源是否预先存在。一个部件可被替代,不表示系统已经准备了替代品。
这个概念的重要边界是“就什么而言”。适用于低耗电时钟的电池,未必适用于要求更高的设备;能替代一次,也不保证长期表现相同。好的接口会明确尺寸、输入和行为要求,从而扩大可替代范围。判断能否替代时,真正需要比较的不是全部属性,而是这段关系必须保留哪些约束。
了解 Geoffrey Chen 的更多信息
订阅后即可通过电子邮件收到最新文章。