如何更改Java中的接口及其后果?

时间:2012-09-21 21:31:28

标签: java interface

更改应用程序中的界面的最佳做法是什么。如果接口已经被许多Java类实现,那么更改它的最佳方法是什么?你打算扩展到新课程吗?你打算使用任何设计模式吗?或者您是否使用授权(我认为没有任何方式使用授权)?你打算使用弃用的注释吗?

这是最好的解决方案吗?

public interface interface1
{
}

public interface interface2 extends interface1
{
public void newMethod()
}

4 个答案:

答案 0 :(得分:3)

有两种方法可以立即浮现在脑海中。

  1. 在IDE中,使用重构工具更改界面。更高级的IDE(Eclipse可以 - 我不了解其他人)可以立即重构任何已知的实现。这要求受影响的项目开放。
  2. 您的解决方案MyInterface2 extends MyInterface也被广泛使用,因为它不会破坏现有的实现者。
  3. 如果您的解决方案出现在代码审核或审核中,我不会拒绝它 - 没关系,恕我直言。

答案 1 :(得分:0)

如果您拥有代码,更改界面的最佳方法是修复对它的所有引用 - 而不是留下弃用的代码。

答案 2 :(得分:0)

如果实现interface1的所有其他类不需要此方法,那么我认为通过这样做可以避免重大代码更改。

然后,接下来的问题,我们是否需要interface2(或)只需要在所需的课程中就足够了?

如果您不想将此新方法定义为contract,换句话说,没有其他类需要实现,那么我甚至不会创建interface2

答案 3 :(得分:0)

您可以使用设计模式。 抽象工厂或桥梁模式可以使用