![]() |
1
1
我用过IoC,但没有用过Castle,尽管它们都很相似,所以这里是我对这个的理解。 我认为您的思路是正确的——尽管我可能会对连接和命令使用一个单独的工厂,或者实际上将打开的连接和运行的命令留给另一个类,这样存储库就不必知道这个细节。只需在类的构造函数中设置IDatabase,以便注入它(如果使用基于属性的注入,则使用属性)。将代码中的SqlConnection和SqlCommand替换为IDbConnection和IDbCommand。
它们确实继承/实现IDisposable,因此您可以使用using语句。对不起,我错了。 |
![]() |
2
1
一般的方法对我来说似乎很好,尽管我不会试图嘲笑
但是,它允许您更改所使用的数据库,因此您可以使用类似Sqlite的东西进行单元测试,然后在集成测试期间针对生产数据库测试代码。
您还可以将连接字符串移动到
|
![]() |
A B · C#Excel自动调整列避免长文本时出错 3 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 3 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 4 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 4 月前 |