Composition over Inheritance - Programowanie funkcyjne w JS
overment
May 18, 2020
Dziedziczenie klas prowadzi do problemów takich jak 'gorilla-banana' oraz 'fragile base class', gdzie rozbudowa struktury wymusza niepotrzebne zależności. Autor proponuje przejście na kompozycję obiektów przy użyciu funkcji fabrykujących, co pozwala na elastyczne budowanie funkcjonalności bez sztywnego wiązania obiektów w hierarchiczne drzewa.
Key insight: Problem goryla i banana polega na tym, że chcąc uzyskać dostęp do jednej prostej funkcjonalności, jesteśmy zmuszeni zaimportować całą strukturę nadrzędną wraz z niepotrzebnymi metodami, co drastycznie zwiększa złożoność kodu.