知识卡片

购买O/R映射工具的权衡与"工具不是一劳永逸"

普通读书笔记卡

内容

即使放弃面向对象数据库、有了领域模型,也应该认真考虑购买商业O/R映射工具而不是自建数据映射器——本书花大量篇幅讲如何手写数据映射器,但这件事本身很复杂,工具提供商已经在这个问题上投入多年研究,商业工具往往比任何同等规模的手工产物都经得起检验;代价是这类工具通常价格不菲,需要权衡自建维护数据映射层的开销与购买工具的开销孰高孰低。但买了工具不等于可以把这些映射模式的知识丢开:优秀的O/R工具在映射到数据库时会提供大量配置选项,只有理解了单表继承、外键映射、依赖映射这类模式的取舍,才知道该怎么调这些选项;工具只是一个好的起点,使用和调优O/R工具本身仍然是一项虽小但有意义的工作,不会因为买了工具就自动消失。可迁移启发:评估”要不要用现成工具替代自建”时,除了算购买成本 vs 自建成本这笔账,还要提前认清——工具解决的是”怎么实现”,而”该怎么配置/取舍”这部分理解仍然是团队自己的责任,不能指望工具替你完成判断。

参考来源

- 位置:《企业应用架构模式》第一部分"表述"之"第3章 映射到关系数据库"之"3.1 架构模式"(源文件:_epub-src/OEBPS/Text/000017.html) - 结论依据:原文说明"就算不能使用面向对象数据库,但假如有领域模型,也应该认真考虑是否购买O/R映射工具……工具提供商花了多年的时间来研究这个问题,而且商业O/R映射工具能比任何相当的手工产物都要经得起检验……即使购买了映射工具,弄懂这些模式仍然很有用处。优秀的O/R工具会在映射到数据库的时候提供大量选项,这些模式将有助于理解何时采用不同的选择。不要认为有了工具就可以一劳永逸",直接支撑本卡结论。 - 原始内容:即使购买了映射工具,弄懂这些模式仍然很有用处。优秀的O/R工具会在映射到数据库的时候提供大量选项,这些模式将有助于理解何时采用不同的选择。不要认为有了工具就可以一劳永逸。