OCP和DIP打破了YAGNI吗?

时间:2016-08-17 13:15:23

标签: solid-principles open-closed-principle dependency-inversion yagni

据我了解YAGNI说我们只需要在需要时提取界面。因此,如果我们现在不需要多态并且只有一个实现,我们就不需要使用接口。但DIP说:

  

一个。高级模块不应该依赖于低级模块。都   应该取决于抽象。

     

B中。抽象不应该依赖于细节。细节应该取决于   抽象。

看起来YAGNIDIP的选项B之间存在差异。 此外,如果我们想要应用OCP,我们需要反转依赖控制并提取抽象,以便能够在不修改该类型的情况下扩展类型。

此外,某些技术需要提取抽象,以便能够对类型客户端进行单元测试。但是例如在java中我们不需要它。所以我想知道如果我现在只有一个实现,我是否需要提取抽象?

0 个答案:

没有答案