Favor ‘object composition’ over ‘class inheritance’

Posted by | No Tags | Egy csésze kávé · Szoftverfejlesztés | Nincs hozzászólás a(z) Favor ‘object composition’ over ‘class inheritance’ bejegyzéshez

Néha olyan kézenfekvőnek tűnik, hogy egy funkcionalitás kiterjesztése érdekében származtatunk.

Egy osztály, nagyon jó, nekem pont ez kell, csak azt egy picit másképp kell csinálnom, de jó lesz.”

Olyan egyszerű és olyan kevés munka, csak egy metódust kell felülírni.
De biztos, hogy ez mindig jó?
Mi van, ha egyszer csak kiderül, hogy de jó volna, ha még azon osztály funkcionalitását is tudná az osztályunk?
A javaban sajnos nem lehet két osztályból örökölni.
Mi van, ha már egy egész származtatási hierarchiánk van, és egyszer csak kiderül, hogy olyan osztályon kéne módosítani, amiből már származtatunk, s ezen leszármazottaknak továbbra is a korábbi funkcionalitásra volna szükségük?
Ekkor mit teszünk? A kompozíciónak vannak előnyei, érdemes volna mindig megfontolnunk: Biztos hogy akarok származtatni?

 


No Comments

Leave a comment