
接口不是两个东西接触的地方,而是它们能够稳定合作的一组有限约定。插头规定形状、电压和接点;软件接口规定可以发送什么请求、返回什么结果。约定越明确,双方越不必知道彼此内部怎样工作。
这说明接口与连接不同。连接只表示发生了接触,接口还规定接触怎样才算有效。它也不同于边界:边界维持区别,接口则在区别仍然存在时,选择性地允许交换。
接口看似限制自由,实际却减少了协调成本。若每次合作都要了解对方全部细节,任何内部变化都会牵动整体;有稳定接口,内部可以改变,只要对外约定仍然成立。好的接口不是越多越好,而是只暴露完成关系所需的最少部分。它保护差异,同时让差异能够协作。
了解 Geoffrey Chen 的更多信息
订阅后即可通过电子邮件收到最新文章。