我很难看到松耦合代码的真实好处.为什么花费这么多精力使灵活的东西与各种其他物体一起工作?如果你知道你需要实现什么,为什么不专门为此目的编码?
对我来说,这类似于创建无类型变量:它使它变得非常灵活,但是它可能会导致问题,因为可能传入了一个意外的值.它也使得它更难阅读,因为你没有明确知道传入的是什么.
然而我觉得强烈打字是受鼓励的,但松散耦合是不好的.
编辑:我觉得我对松散耦合的解释是关闭还是其他人正在以错误的方式阅读它.与我的强耦合是当一个类引用另一个类的具体实例时.松散耦合是指类引用另一个类可以实现的接口.
那么我的问题是为什么不专门调用类的具体实例/定义?我将其类比为具体定义您需要的变量类型.我一直在阅读关于依赖注入的一些内容,他们似乎认为松散耦合更好的设计是事实.
我正在使用接口来提供依赖注入的(vb.net/asp.net)项目.但对我来说,感觉代码的可维护性已被杀死.当我想阅读代码时,我不能简单地跳转到使用的相关类的代码.我所看到的只是接口,因此我必须通过项目来查找正在执行的类.这真的伤害了我的生产力.
是的,我知道我现在可以使用各种替换类来实现接口.但是,例如,我知道我不会很快改变我的数据源 - 我没有必要启用交换它的能力.所有这些依赖注入对我来说似乎有些过分(事实上,它唯一真正的原因是支持模拟类进行单元测试).我实际上已经读过几个地方,说DI实际上更适合可维护性.但这假设您已经知道一切都在哪里,并且您知道需要更新哪个类.找出去哪儿看是杀死我的部分.
所以,我的问题是:是否有更好的方法来遍历代码?有没有更好的方法使代码更易于维护?我们只是做错了吗?或者这是课程的标准?