In der Vergangenheit habe ich die Standardmethode zum Hinzufügen von @Deprecated
Anmerkungen zu API-Methoden verwendet, die in einer späteren Version entfernt werden.
Jetzt bereite ich eine Hauptversion für eine Bibliothek vor, bei der viele API-Teile entfernt und umbenannt werden.
Um den Übergang für vorhandene Benutzer zu vereinfachen, kann es möglicherweise hilfreich sein, wenn die neue Bibliotheksversion neben der alten Version verwendet werden kann.
Vorteile
- Das dynamische Umschalten zwischen Versionen kann implementiert werden
- Anwendungen können auf die vorherige Version zurückgreifen, wenn in der neuen Version Fehler gefunden werden (nützlich in der Beta-Phase).
Dazu könnte ich einfach die neue Bibliotheksversion in ein neues Paket von com.mycompany.library
nach verschiebencom.mycompany.library.v2
Ist dies eine gängige Praxis oder gibt es andere Empfehlungen für eine solche gleichzeitige Verwendung von Java-Bibliotheken?
Hintergrund:
Die Bibliothek ist ein einfacher Dokumentkonverter. Neben einem Konvertierungsmodus (in, out) verfügt er über viele Konfigurationseigenschaften und einige Ereignishandler. Wenn ich die Verwendung nebeneinander anbiete, können Verbraucher sie dynamisch instanziieren und konfigurieren:
if (useVersion2) {
com.mycompany.library.v2.Converter c = new com.mycompany.library.v2.Converter();
// configure and run
c.setOption(...);
c.convert(in, out);
} else {
com.mycompany.library.Converter c = new com.mycompany.library.Converter();
// configure and run
c.setOption(...);
c.convert(in, out);
}
(Frage von /programming/37192945/ verschoben )
for a short time period
. Wir wissen beide, was es temporär in der Softwareentwicklung bedeutet. Tun wir nicht? ;-)
@Deprecated
Anmerkung zu Ihrem Code hinzufügen . Wenn Benutzer in der Version aktualisieren, sehen sie, dass der Code veraltet ist und sie sollten sich ändern. Entfernen Sie danach den gesamten Code.