Törékeny alaposztály

A törékeny alaposztály  alapvető probléma az objektumorientált programozásban .

Leírás

A törékeny alaposztállyal az a probléma, hogy az alaposztály megvalósítási részleteiben a legkisebb változtatás is hibákat vezethet be a származtatott osztályokba. Ez a legrosszabb esetben az alaposztály bármilyen sikeres módosítását eredményezi, amely a teljes öröklődési fa előzetes tanulmányozását igényli, és gyakran még akkor sem lehetséges (hibák generálása nélkül).

A törékeny alaposztály probléma nagymértékben csökkenti az öröklődés értékét .

Általában a probléma nem megoldható, és ez az OOP egyik jelentős hátránya.

A probléma általánosítható olyan rendszerekre, amelyeket nem OOP nyelveken fejlesztettek ki, és nem használják az "osztály" fogalmát. A kész kód bármilyen újrafelhasználása (másolás nélkül) az új kód részeként ilyen problémát okozhat.

A modern OOP-hatású programozási paradigmák a „csatolás” és a „kohézió” fogalmát használják, a tervezés minőségét pedig a kapcsolatok kezelése határozza meg, ami különösen a kötések gyengítését jelenti. Az öröklődés az OOP értelmében a lehető legerősebb kapcsolatot teremti meg, ezért nagy körültekintéssel kell használni.

A keretrendszer-fejlesztésnek az eszközkészlet-fejlesztéshez képesti bonyolultsága, amint azt a Gang of Four Patterns könyv is leírja, részben annak tudható be, hogy a keretrendszerekben könnyen megjelenik egy „törékeny alaposztály”, és hogy nehéz kezelni ezt a problémát.

A küzdelem lehetséges módszerei

Az öröklődés helyettesítése összesítéssel . Az összesítés során a beágyazott alaposztály objektum kifejezetten a származtatott osztályobjektum részeként van deklarálva, és a származtatott osztály csak az alaposztály nyilvános felületét használhatja. Így a származtatott osztály nem függhet az alaposztály megvalósítási részleteitől, ami megoldja a problémát.

Lásd még