2014-09-01 160 views
1

哪裏是舉辦數據庫連接的好地方?我將在很多不同的地方使用,所以能夠從某個地方訪問它並且不必總是傳遞它。如何管理數據庫連接?

+0

不要抱它。儘快關閉它並使用連接池。 – 2014-09-02 17:29:08

回答

2

我的所有應用程序都有「ApplicationModel」class/struct,其中根據數據庫連接的數量,我有一個成員變量(在我只處理單個連接的情況下),或者我有一個簡單的數組DB連接。自然,ApplicationModel有它的訪問器。

我在需要它的那些對象的構造函數中傳遞對ApplicationModel的引用。另一種方法是使ApplicationModel具有相同的功能。 - 那麼你不需要將它傳遞出去......不久之前,我停止使用Singleton來達到這個目的,因爲我發現dependency injection更有用。

1

我會prolly在訪問器類(如單例)中使用靜態關聯數組,關鍵是數據庫連接字符串和值是連接對象。

0

由於您的問題是Architecture標記,我建議你也考慮使用Flyweight design pattern。它將允許不可變類使用預構造實例,或者在實例構建時緩存實例,並重復分配它們以避免創建不必要的重複對象。在一堆不同的地方

它可以極大地提高性能,如果被要求經常是等價的對象,特別是如果他們創造昂貴的

使用。如果這是你的情況。

另外我使用Command design pattern,特別是當我必須處理幾個數據庫連接。