A számítógép-programozásban a képességirigység azt jelenti, hogy egy metódus inkább egy másik objektum adataival foglalkozik, mint annak az objektumnak az adataival, mint amiben benne van. Ez azért lehet, mert az adatokat refraktoráláskor áttették egy másik osztályba, vagy létrehoztak velük egy másik osztályt, de a metódust itt felejtették. Nem is biztos, hogy egyértelmű, hogy át kellene tenni a metódust, mert lehet, hogy csak egy szakaszának van szüksége a másik objektum adataira, a többinek nem. Ekkor elég ezt a szakaszt kiemelni, és áttenni a másik osztályba. Előfordulhat, hogy a döntés egyértelmű: a metódusnak jobb helye van a másik osztályban. Vannak bonyolultabb esetek is, amikor több objektum adataira van szükség. Ekkor lehetséges a feldarabolás mellett az is, hogy az adatokkal együtt áthelyezzük a metódust, akár egy új osztályba. Ez csökkenti a kódduplikációt és javítja a kód szervezettségét.
Lehetséges, hogy a metódus szándékosan van elkülönítve az adatoktól, mivel azt akarjuk, hogy a viselkedés dinamikusan változhasson. Erre példa a stratégia és a látogató.
Forrás Refractoring Guru
Kategória:Programozási antiminták