知识卡片

依赖倒置

普通读书笔记卡 · 1900.a

内容

高层策略不应直接依赖低层细节,二者都应依赖抽象。这样数据库、日志、消息等实现可以替换,核心业务规则保持稳定;抽象不是多一层类,而是把变化挡在边界外。关联:[[抽象层次取舍]]

参考来源

- 位置:《程序员的底层思维》第10章《解耦思维》10.2节「依赖倒置解耦」(源文件:Cheng Xu Yuan De Di Ceng Si Wei_split_015.html) - 结论依据:原文明确说明依赖倒置通过增加抽象C反转A对B的依赖方向,使日志、数据库等实现可替换,直接支持卡片论点。 - 原始内容:"依赖倒置实际上倒置的是依赖方向。……有两个模块A和B,本来A是直接依赖B的,依赖方向是A→B,通过增加一个抽象C,然后让模块B去实现这个抽象,从而反转了依赖的方向,变成B→A,这就是依赖倒置。"