我正在编写一个库,该库的方法M()带有3个参数,方法签名类似于M(参数1,参数2,参数3),在开发周期中可能会发生变化。因为每当我更改该库时,该库将使用三个应用程序A,B和C 方法签名(大多数情况下参数数量会发生变化),应用程序A,B和C的现有代码不应中断。这是处理这种情况的最佳方法。
答案 0 :(得分:2)
如果签名是一种使用方式,然后使用 进行更改,除非更改与其使用方式兼容(将int
更改为{{ 1}},例如,由于具有自动装箱功能,因此通常是兼容的。
通常的做法是使用新签名添加重载,将原始方法保留在原位置(尽管您可能会更改其实现)。例如,如果原始文件是:
Integer
添加重载/一些重载:
void m(Something a, SomethingElse b, YetAnotherThing c) {
// ...
}
不会使用该原始方法破坏客户(假设实现继续执行以前的操作,即使执行方式有所不同)。