如何管理数据库连接?

时间:2014-09-01 22:57:23

标签: architecture d

哪里是举行数据库连接的好地方?我将在一堆不同的地方使用,所以能够从某个地方访问它并且不必总是传递它是很好的。

3 个答案:

答案 0 :(得分:2)

我的所有应用程序都有“ApplicationModel”类/结构,其中,根据数据库连接的数量,我要么有一个成员变量(在我只处理单个连接的情况下),或者我有一个简单的数组DB connnections。当然,ApplicationModel具有访问权限。

我在需要它的那些对象的构造函数中传递对ApplicationModel的引用。另一种方法是使ApplicationModel成为具有相同功能的Singleton。 - 然后你不需要传递它...不久前我不再使用Singleton这个目的,因为我发现dependency injection更有用。

答案 1 :(得分:1)

我只是在访问器类(如单例)中使用静态关联数组,键是数据库连接字符串,值是连接对象。

答案 2 :(得分:0)

由于您的问题已被Architecture标记,我建议您也考虑使用Flyweight design pattern。它将允许不可变类使用预构建的实例,或者在构造它们时缓存实例,并重复分配它们以避免创建不必要的重复对象。

  

在一堆不同的地方使用

如果经常请求等效对象,它可以极大地提高性能,特别是如果它们的创建成本很高。如果是你的情况。

我也使用Command design pattern,特别是当我必须处理几个数据库连接时。