假设我的项目使用了3个不同的数据库MySql、Redis、Cassandra。我想概括一下我的设计,以便
类似这样的情况,假设在运行时,如果我想读取/更新mysql db,我的设计应该返回mysql db连接形式连接池,现在我想对Redis进行同样的操作,因此基于输入,它应该从连接池返回Redis连接。
有谁能建议我设计我的项目时应该遵循的最佳方法?
发布于 2016-02-25 10:42:49
这类事情没有灵丹妙药,但很好的是,你能提前考虑这件事。您需要做的是将这些数据库与您的代码逻辑隔离开来,这样代码就不知道数据来自哪个存储区或来自哪个存储区。
发布于 2016-02-26 09:24:21
一个很好的候选人
在运行时根据输入类型返回相应的数据库客户端,并且可以轻松地添加或替换DB,而无需进行太多的代码更改。
是战略设计模式。它定义了一系列算法(在您的例子中是DB),封装每个算法,并使它们在运行时可互换。策略允许算法独立于使用它的客户端。

https://stackoverflow.com/questions/35620863
复制相似问题