我知道对接口进行编程有助于松散耦合.但是,是否有一个解释何时最有效的指南?
例如,我有一个简单的Web应用程序,它收集员工的数据,他们的培训计划,费用和计算他们一年的费用等.这是一个相当简单的应用程序,我当然可以使用一个界面,但想知道是否会有任何使用.我将使用它为了使用它.
始终可以认为,随着应用程序的复杂性增加而我传递对象,传递类型(接口)比实现更有意义.那么,我应该等待应用程序变得复杂或立即使用它吗?我想知道最好的做法可能会变成"这家伙过度做事".
编程到接口的原因是将更高级别的类与低级类的更改隔离开来.如果您根本不期望更低级别的类更改,那么在这种情况下不编程到接口是合理的.此文章(PDF)详细阐述了这个想法,压印术语的依赖,倒置原则.
如果您对测试驱动开发感兴趣,那么"对接口进行编程"的需求确实很明显.如果希望在独立于依赖项的情况下测试类,则需要传递接口而不是对象.