将connectionString绑定到每个DataProvider构造函数或注入连接接口

时间:2013-12-30 13:43:14

标签: dependency-injection sqlconnection

我的服务都在访问DataProvider类。每个DataProvider构造函数都将connectionString作为参数注入DI工具。

在IConnectionString接口中隐藏connectionString并注入此接口而不是connectionString的优势在哪里?

请考虑您的答案:我不使用任何接口来访问我的DataProvider类。这些类不使用IDbConnection。

我完全将自己绑定到MS SQL Server,这就是我想要的:)

1 个答案:

答案 0 :(得分:0)

注射不仅仅是因为可替换性。它更多的是关于可测试性。

如果您100%绑定到SQL Server,那么您的测试也将绑定到Sql Server,这不是很好并且使事情变得复杂。

如果您没有为数据提供者使用任何接口,那么使用接口连接线接口会从我的角度带来任何好处。

注入组分的想法是依赖注入原则。 秒。还Martin Fowlers Post

但即使您将使用MS SQl Server,我强烈建议使用某种网关/存储库模式。 这将为您提供更好的测试体验和更可靠的软件。

作为一个参考,我可以建议你从叔叔鲍勃的清洁编码网络广播(罗伯特C马丁

HTTP // www.cleancoders.com