Synthese von objektorientiertem und funktionalem Design zur Förderung der Wiederverwendung
Dieser ECOOP-Artikel von 1998 befasst sich mit der Herausforderung, sowohl Werkzeuge als auch Datentypen in sich entwickelnden Programmen zu erweitern, indem die Stärken der objektorientierten und der funktionalen Programmierung kombiniert werden. Traditionelle Ansätze haben Schwierigkeiten, beides zu unterstützen: Funktionale Programmierung zeichnet sich durch das Hinzufügen von Werkzeugen aus, während objektorientierte Programmierung sich durch das Hinzufügen neuer Werkzeuge oder das Erweitern von Datensätzen auszeichnet, aber nicht beides gleichzeitig. Der Artikel schlägt ein zusammengesetztes Designmuster vor, das das Beste aus beiden Ansätzen verbindet, und schlägt neue sprachliche Funktionen für klassenbasierte Sprachen vor, um Erweiterbarkeit zu erreichen, ohne den bestehenden Code zu ändern.