知识卡片
解耦不是免费
内容
解耦可以推迟某些技术决策,但抽象层、框架和额外分层本身会成为新的重要决策,呼应[[解耦转移重量]]。发散:为了未来可能变化而加层,要证明变化收益大于复杂度成本。
参考来源
- 位置:《程序员必读之软件架构》第26章《技术不是实现细节》(源文件:OEBPS/text00000_split_038.html)
- 结论依据:原文用ORM解耦数据库的例子说明当数据库选择不再重要时,ORM的选择就成了新的重要决策,解耦本身也要付出复杂度代价,直接支持卡片论点。
- 原始内容:"但是别忘了,当数据库的选择不再是重要决策时,ORM的选择就是了。你可以通过引入另一个抽象层,在代码中解耦ORM,但这里又做了一个软件系统结构的重要决策。……这并不意味着你应该推迟决策。"