Composition over inheritance hija prinċipju ta' disinn wiesegħ iċċitat — preferenza li tinbena oġġetti billi tikkombinajoni tal-imġibiet (komposizzjoni) aktar milli tinherita minn klassiz bażi (eredità). L-eredità għandhom nuqqasijiet sinifikanti li l-komposizzjoni tevita, għalkemm it-tnejn għandhom il-post tagħhom.
Eredità vs komposizzjoni
INHERITANCE → a class EXTENDS another, inheriting its behavior ("IS-A" relationship):
class Dog extends Animal
COMPOSITION → a class is BUILT FROM other objects/behaviors ("HAS-A" / uses):
class Car { constructor() { this.engine = new Engine(); } } // composes behaviors
→ composition: combine smaller pieces; inheritance: derive from a parent
