Navrhli jste API, chcete v něm provést změny a děsí
vás, co to způsobí s programy, které toto API
používají? V tomto článku si na jednoduchém příkladu
ukážeme, jak vám může pomoci RefactoringNG.
Mějme třídu Ship
s metodou dock
:
V rámci evoluce API metodu dock
přesuneme do třídy Harbour
a uděláme
ji statickou:
Po této změně je potřeba všechna volání metody
dock
na instancích třídy Ship
nahradit voláním statické metody dock
ze třídy Harbour
. Např.,
je-li s
proměnná typu Ship
, musíme
změnit na
Běžný postup je, že metodu dock
ve
třídě Ship
označíme @Deprecated
a počkáme, až programátoři
začnou používat novou metodu ve třídě Harbour
. Pomocí RefactoringNG lze přechod k
nové metodě zautomatizovat. Stačí, když definujeme
pravidlo, které nahradí volání s.dock()
voláním Harbour.dock(s)
:
Pomocí tohoto skriptu pak programátoři mohou snadno
upgradovat svůj kód na novou verzi API.
Chcete-li se o použití RefactoringNG při evoluci
API dozvědět více, podívejte se na tento článek.