6 Stimmen

Die beste Art, Guave zu verwenden

Was ist deiner Meinung nach der beste Weg, um Guava zu verwenden? Da die Jungs auf der Website sagen, dass sich die Schnittstellen bis zur Veröffentlichung von Version 1.0 ändern können. Wenn Sie das berücksichtigen, sollte Ihr Code nicht direkt von diesen Schnittstellen abhängen. Wickeln Sie also den gesamten Guava-Code, den Sie aufrufen, in eine Art Schicht oder Fassade in unseren Projekten ein, damit Sie, wenn sich diese Schnittstellen ändern, zumindest diese Änderungen an einer zentralen Stelle haben?

Was ist der beste Weg? Ich bin wirklich daran interessiert, damit anzufangen, aber diese Frage beschäftigt mich hahaha :)

22voto

ColinD Punkte 106101

Ich bin mir nicht sicher, woher du die Information hast, dass die Schnittstellen bis zur Version 1.0 Änderungen unterliegen. Das war bei Google Collections, dem Vorgänger von Guava, der Fall, aber das hatte bereits sein 1.0-Release und ist jetzt Teil von Guava. Außerdem wird nichts, was Teil von Google Collections war, so geändert, dass Code zerstört werden könnte.

Guava selbst verwendet nicht einmal ein Freigabesystem mit dem Konzept von "1.0". Es macht einfach Veröffentlichungen, gekennzeichnet als "r05", "r06" und so weiter. Alle APIs in Guava sind effektiv eingefroren, es sei denn, sie sind mit der @Beta-Annotation gekennzeichnet. Wenn @Beta auf einer Klasse oder Schnittstelle steht, kann sich alles in dieser Klasse ändern. Wenn eine Klasse nicht damit gekennzeichnet ist, aber einige Methoden in der Klasse, sind diese spezifischen Methoden Änderungen unterworfen.

Beachten Sie, dass auch bei den @Beta-APIs die bereitgestellte Funktionalität höchstwahrscheinlich nicht komplett entfernt wird... höchstens wird sich wahrscheinlich nur ändern, wie diese Funktionalität bereitgestellt wird. Außerdem degradieren sie die ursprüngliche Form einer jeden @Beta-API, die sie ändern, für 1 Release, bevor sie sie komplett entfernen, was Ihnen Zeit gibt, zu sehen, dass sich etwas verändert hat, und auf die neue Form dieser API zu aktualisieren. @Beta bedeutet auch nicht, dass eine Klasse oder Methode nicht gut getestet ist oder nicht für den produktiven Einsatz geeignet ist.

Zu guter Letzt sollte dies kein großes Problem darstellen, wenn Sie an einer Anwendung arbeiten, die Guava verwendet. Es sollte leicht genug sein, auf eine neue Version zu aktualisieren, indem Sie hier und da Änderungen vornehmen, falls sich irgendwelche @Beta-APIs, die Sie verwendet haben, geändert haben. Es sind die Leute, die an Bibliotheken arbeiten, die Guava verwenden, die wirklich vermeiden müssen, @Beta-APIs zu verwenden, da die Verwendung einer solchen API eine Situation schaffen könnte, in der Sie nicht in der Lage sind, auf eine neuere Version von Guava in Ihrer Anwendung umzusteigen oder eine andere Bibliothek zu verwenden, die eine neuere Version benutzt, weil dies Code in der älteren Bibliothek zerstören würde, die von einer geänderten/entfernten Beta-API abhängt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X