A számítógép-programozásban a kopogószellem vagy cigányszekér rövid életű, tipikusan állapot nélküli objektum, amivel tartósabb osztályt inicializálnak, vagy annak metódusait hívják. Antimintának tekintik. Az eredeti definíciót Michael Akroyd adta meg 1996-ban az Object World West Conference-en:
A kopogószellem vagy cigányszekér titokzatos módon tűnik fel és el, ezt teszi ez a rövid életű objektum. Nehezebb a kódot karban tartani miatta, és szükségtelenül pazarolja az erőforrásokat. Oka a gyenge objektumtervezés.
A kopogószellem gyakran neve alapján beazonosítható: szerepel benne a manager, a controller szavak egyike, esetleg a start_process kifejezés.
Gyakran azzal hoznak létre kopogószellemeket, hogy egy bonyolultabb szerkezetet feltételeznek. Ha a parancs programtervezési mintában a kliens és az invoker is részt vesz egy metódusban, és a programozó megpróbálja ezt kettéválasztani. Azonban a bonyolultabb architektúrát nem biztos, hogy sikerül létrehozni.
A kopogószellem nem tévesztendő össze a tartós, állapottal bíró objektumokkal, mint a modell-nézet-vezérlő tartalma, vagy a rétegekre bontó minták elemeivel, mint az üzlet-delegált.
A kopogószellem eltüntetésére szerepét át kell adni a hívónak (invoker), ezután a kopogószellem eltávolítható.
Források
Development AntiPatterns Fordítás
Kategória:Programozási antiminták