更改应用程序中的界面的最佳做法是什么。如果接口已经被许多Java类实现,那么更改它的最佳方法是什么?你打算扩展到新课程吗?你打算使用任何设计模式吗?或者您是否使用授权(我认为没有任何方式使用授权)?你打算使用弃用的注释吗?
这是最好的解决方案吗?
public interface interface1
{
}
public interface interface2 extends interface1
{
public void newMethod()
}
答案 0 :(得分:3)
有两种方法可以立即浮现在脑海中。
MyInterface2 extends MyInterface
也被广泛使用,因为它不会破坏现有的实现者。如果您的解决方案出现在代码审核或审核中,我不会拒绝它 - 没关系,恕我直言。
答案 1 :(得分:0)
如果您拥有代码,更改界面的最佳方法是修复对它的所有引用 - 而不是留下弃用的代码。
答案 2 :(得分:0)
如果实现interface1
的所有其他类不需要此方法,那么我认为通过这样做可以避免重大代码更改。
然后,接下来的问题,我们是否需要interface2
(或)只需要在所需的课程中就足够了?
如果您不想将此新方法定义为contract
,换句话说,没有其他类需要实现,那么我甚至不会创建interface2
。
答案 3 :(得分:0)
您可以使用设计模式。 抽象工厂或桥梁模式可以使用