nehovorim, ze to musi byt silou-mocou OOP, len mi prislo na mysel spytat sa, ako by ste to zoptimalizovali do OOP podoby.
dakujem za navrhy
Optimalizovat pouze část aplikace do OOP bez objektových vazeb na zbývající komponenty je jen plýtváním časem.
Volání by mělo vypadat asi takto:
reason.deregister();
nezávisle na třídě, ze které je vytvořena instance
reason. Každá taková třída musí tedy implementovat rozhraní, které obsahuje metodu
deregister(). Dle rozpisu to budou třídy Operator, DifferentLocation, LimitReached, SupportedFeaturesLimitReached, TrialExpired apod. Samozřejmě se předpokládá, že tyto třídy budou implementovat i další metody takového rozhraní a z aplikace tak zmizí i další switche s objektem
reason. Třídu
ServerReason předěláš dle vzoru Factory.