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.
www.amaio.com