Sintetizando el Diseño Orientado a Objetos y Funcional para Promover la Reutilización
Este artículo de ECOOP de 1998 aborda el desafío de extender tanto las herramientas como los tipos de datos en programas en evolución mediante la combinación de las fortalezas de la programación orientada a objetos y la programación funcional. Los enfoques tradicionales tienen dificultades para soportar ambas: la programación funcional sobresale en la adición de herramientas, mientras que la POO sobresale en la adición de nuevas herramientas o la extensión de conjuntos de datos, pero no ambas simultáneamente. El artículo propone un patrón de diseño compuesto que sintetiza lo mejor de ambos enfoques, sugiriendo nuevas características lingüísticas para lenguajes basados en clases para lograr la extensibilidad sin modificar el código existente.