On 30.10.18 10:22, Bertrand Delacretaz wrote:
Hi,
I agree, and we might use the following trick to avoid that with
minimal disruption:
-Consider the current interface "Legacy" that needs half of its
methods deprecated
-Move the non-deprecated methods to a new "Modern" interface
-Legacy inherits from Modern
Existing clients can then use Legacy with no change.
New clients move to Modern, to make it clear that they don't want to
use legacy stuff.
Mark the whole Legacy interface as deprecated, recommend moving to Modern
Existing services are explicitly registered as both Modern and Legacy.
No need to redesign things, just move them around.
WDYT?
+1, which would bring us to naming.. one suggestion would be
/** @deprecated */
public interface JobManager extends JobManager2 /* Modern */ {
..
}
Cheers,
Stefan