知识卡片
库优于框架的治理策略
内容
框架反过来调用你的代码(你的类要继承它、实现它的接口),库则是被你按需调用的工具集合——这个方向差异决定了两者带来的耦合程度完全不同:框架是应用的地基,一旦落后两个大版本再升级就是场噩梦,必须主动及时跟进更新;库更像可替换的零件,可以等真正需要新功能时再拉取更新。这也是为什么架构师在技术选型时应该优先考虑库而非框架——耦合越轻,未来替换的自由度就越大。
参考来源
- 位置:《演进式架构(原书第2版)》第7章《构建可演进的架构》「库与框架」小节(源文件:_epub-src/EPUB/xhtml/chapter11_0001.xhtml)
- 结论依据:原文明确框架调用开发者代码、库被开发者按需调用的方向差异,并给出"积极更新框架依赖,被动更新库"的治理建议,直接支持卡片论点。
- 原始内容:"开发人员的代码调用一个库,而框架调用开发人员的代码……由于框架是应用程序的基础部分,因此团队必须主动更新。库通常比框架形成更少的脆弱耦合,所以团队可以对升级更加随意……尽可能地优先选择库而不是框架。"