我的服务都在访问DataProvider类。每个DataProvider构造函数都将connectionString作为参数注入DI工具。
在IConnectionString接口中隐藏connectionString并注入此接口而不是connectionString的优势在哪里?
请考虑您的答案:我不使用任何接口来访问我的DataProvider类。这些类不使用IDbConnection。
我完全将自己绑定到MS SQL Server,这就是我想要的:)
答案 0 :(得分:0)
注射不仅仅是因为可替换性。它更多的是关于可测试性。
如果您100%绑定到SQL Server,那么您的测试也将绑定到Sql Server,这不是很好并且使事情变得复杂。
如果您没有为数据提供者使用任何接口,那么使用接口连接线接口会从我的角度带来任何好处。
注入组分的想法是依赖注入原则。 秒。还Martin Fowlers Post
但即使您将使用MS SQl Server,我强烈建议使用某种网关/存储库模式。 这将为您提供更好的测试体验和更可靠的软件。
作为一个参考,我可以建议你从叔叔鲍勃的清洁编码网络广播(罗伯特C马丁
HTTP // www.cleancoders.com