簡體   English   中英

我應該使用單例,靜態類還是“共享”從多個類連接到數據庫?

[英]Should I use singleton, static Class or `shared` for connecting to database from many classes?

我正在編寫連接數據庫的應用程序。 我需要能夠使用許多類的數據庫連接。

class Database
{
  auto MyConnection = new Connection("..."); // create connection

  void calc()
  {
    MyConnection.query("..."); // use it
  }
}

但是我需要從每個班級訪問MyConnection嗎? 我應該使Databasestatic嗎? 還是我應該使用Singleton模式? 還是將MyConnection設為shared

例如配置呢? 是它的好主意,使其例如shared

還是例如可以在main之前全局聲明連接語句? 喜歡:

MySQLPool MyConnection;

void main()
{
//...
}

然后從static this() { }或從DB類啟動MyConnection

看看這里描述的Repository模式: http : //web.archive.org/web/20150404154203/https : //www.remondo.net/repository-pattern-example-csharp/

您應該考慮應用程序的體系結構。 我采用這種方法,那么我將得到一個名為db的類(不是靜態的也不是單例的),其方法如下:

Read
Scaler
Execute
Insert
etc 

您的存儲庫層應與域層分開。

以我的經驗,這使代碼可測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM