假设我的接口MyInterface有方法do()
。我有一些实现此接口的类。在整个代码中调用此接口,并通过Factory调用特定的实现。后来我决定通过添加一个参数来改变do()
方法,让我们说 - do(numberOfTimes)
。现在所有客户端都已损坏,因此当我调用MyInterfaceOld.do()
时,将无法找到实现do()
方法。我可以使用额外的参数添加另一个do()
方法,但这也会破坏客户端。直接的方法是在MyInterface中更改do()
方法并更新所有客户端,但是还有另一种方法而不需要更新所有客户端吗?