哪里是举行数据库连接的好地方?我将在一堆不同的地方使用,所以能够从某个地方访问它并且不必总是传递它是很好的。
答案 0 :(得分:2)
我的所有应用程序都有“ApplicationModel”类/结构,其中,根据数据库连接的数量,我要么有一个成员变量(在我只处理单个连接的情况下),或者我有一个简单的数组DB connnections。当然,ApplicationModel具有访问权限。
我在需要它的那些对象的构造函数中传递对ApplicationModel的引用。另一种方法是使ApplicationModel成为具有相同功能的Singleton。 - 然后你不需要传递它...不久前我不再使用Singleton这个目的,因为我发现dependency injection更有用。
答案 1 :(得分:1)
我只是在访问器类(如单例)中使用静态关联数组,键是数据库连接字符串,值是连接对象。
答案 2 :(得分:0)
由于您的问题已被Architecture
标记,我建议您也考虑使用Flyweight design pattern。它将允许不可变类使用预构建的实例,或者在构造它们时缓存实例,并重复分配它们以避免创建不必要的重复对象。
在一堆不同的地方使用
如果经常请求等效对象,它可以极大地提高性能,特别是如果它们的创建成本很高。如果是你的情况。
我也使用Command design pattern,特别是当我必须处理几个数据库连接时。