[英]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
吗? 我应该使Database
类static
吗? 还是我应该使用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.