解决方法
关系数据库:
优点:
>建立技术 – 很多
工具,开发人员,资源
广泛的开放源码和商业广告
制品
>已知规模非常大
网站和非常高的吞吐量
>以逻辑和“可编程”的方式表达许多问题域
>相当标准的语言(sql)
缺点:
>与OO概念的阻碍不匹配 – 在数据库中建模“继承”并不自然
>分层结构通常需要针对该语言的特定于供应商的扩展
>非关系数据(例如文件)不是天然的
>一旦定义了模式,业务领域的变化就难以实现
OOBDMS
优点:
>更贴近OO概念
>在理论上,开发人员只需要使用一种语言 – 持久性细节被抽象出来.这样可以提高生产率
缺点:
>可用的工具/资源/开发人员显着减少.>没有广泛接受的标准>“黑盒子”的持久化方法可以使性能调整变得困难>持久性细节经常泄漏到OO设计中(见Marcelo的例子)