我已经阅读了许多关于拥有多个数据库以及如何有效地设计DAL的帖子。在许多情况下,论坛建议应用存储库模式,这在大多数情况下都可以正常工作。
然而,我发现自己处于不同的情况。我有三个不同的数据库:Oracle、OLE DB和SQLServer。目前,存在一个唯一的DAL,其中许多不同的类将SQL查询发送到下面的层中,在相应的数据库中执行。系统的工作方式是两个数据库仅用于从中读取信息,另一个数据库用于存储相同的信息或稍后读取它。我必须提出一个更好的设计来改进当前的实现,但从架构角度来看,似乎为所有三个数据库提供一个共同的接口是不可行的。
是否有任何设计模式可以解决这种情况?我应该有三个不同的DAL吗?或者也许将存储库模式应用于此问题是可能(并且可取)的?
然而,我发现自己处于不同的情况。我有三个不同的数据库:Oracle、OLE DB和SQLServer。目前,存在一个唯一的DAL,其中许多不同的类将SQL查询发送到下面的层中,在相应的数据库中执行。系统的工作方式是两个数据库仅用于从中读取信息,另一个数据库用于存储相同的信息或稍后读取它。我必须提出一个更好的设计来改进当前的实现,但从架构角度来看,似乎为所有三个数据库提供一个共同的接口是不可行的。
是否有任何设计模式可以解决这种情况?我应该有三个不同的DAL吗?或者也许将存储库模式应用于此问题是可能(并且可取)的?