|
|
1
2
你不能吃蛋糕然后吃它,选择下面的选项。
换句话说,您应该考虑将应用程序部署到多个RDBMSE的可能性,并做出明智的选择。 |
|
|
2
2
如果您想利用各种RDBMSE的钟声和哨声,您当然可以做到。只需应用标准OO原则。找出持久性层需要提供哪种API。 最后您将编写一组同构持久性适配器类。从模型代码的角度(将调用适配器方法来加载和存储数据),这些类是相同的。编写好的测试覆盖应该很容易,好的测试会让生活变得容易很多。决定持久性适配器提供了多少抽象是最棘手的部分,并且在很大程度上是特定于应用程序的。 至于这是否值得麻烦:这要看情况而定。如果你以前从未做过,这是一个很好的练习。如果你不确定你的目标数据库是什么,这可能还为时过早。 一个好的策略可能是启动两个持久性适配器。假设您希望最常见的后端将是MySQL。实现一个为MySQL调优的适配器。实现第二种方法,使用您选择的数据库抽象库,并且只使用标准的、广泛可用的SQL特性。现在,您已经获得了对大量后端的支持(所有内容都由您选择的抽象库支持),以及对MySQL的优化支持。如果您决定要从Oracle提供一个优化的适配器,您可以在空闲时实现它,并且您将知道您的应用程序可以支持可交换的数据库后端。 |
|
|
3
0
如果为一个平台编写的代码彼此都能工作而不做任何修改,那就太好了,但通常情况并非如此,而且可能永远不会如此。当前的框架所做的是尽可能多的工作。 |