我正在编写连接到数据库的应用程序。我需要能够使用来自许多类的DataBase连接。
class Database
{
auto MyConnection = new Connection("..."); // create connection
void calc()
{
MyConnection.query("..."); // use it
}
}
但我需要从每个班级获得MyConnection
的访问权限吗?我应该Database
上课static
吗?或者也许我应该使用Singleton模式?或者将MyConnection
设为shared
?
例如配置怎么样?以shared
为例制作它是否是个好主意?
或者例如我可以在main之前全局声明连接语句吗?像:
MySQLPool MyConnection;
void main()
{
//...
}
然后从MyConnection
或从DB类启动static this() { }
?
答案 0 :(得分:0)
查看此处所述的Repository模式:http://web.archive.org/web/20150404154203/https://www.remondo.net/repository-pattern-example-csharp/
您应该考虑应用程序的体系结构。我使用这种方法然后我会有一个名为db(不是静态而不是单例)的类,其方法如下:
Read
Scaler
Execute
Insert
etc
您的存储库图层应与您的域图层分开。
根据我的经验,这使得代码可以测试。