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.