V tomto článku si ukážeme použití
RefactoringNG při evoluci rozhraní. Jde o problém,
který popisuje Dagi.
Dejme tomu, že ve verzi 1.0 našeho API máme
rozhraní Plugin:
Ve verzi 2.0 přidáme do tohoto rozhraní metodu
go:
Tato změna vyžaduje, aby každý klient, který chce
přejít z API verze 1.0 na verzi 2.0, přidal do tříd,
jež implementují rozhraní Plugin,
implementaci metody go. To můžeme
provést buď ručně nebo provedením následujícího
pravidla v RefactoringNG:
Toto pravidlo přidá do každé třídy, která
implementuje rozhraní Plugin, prázdnou
metodu go. K přechodu na novou verzi
API pak postačuje toto pravidlo provést.
