O Problema da Expressão: Soluções Elegantes em OOP e FP
2025-09-07
Este artigo mergulha no "problema da expressão" no design de software: como adicionar novos tipos de dados e operações sem modificar o código existente. O autor usa exemplos em C++ e Haskell para ilustrar as limitações da programação orientada a objetos e funcional na resolução desse problema. O artigo então explora soluções elegantes usando o padrão visitor e os multimethods e protocolos do Clojure. A abordagem do Clojure utiliza de forma inteligente o poder dos métodos abertos, separando as definições de métodos das definições de tipo, permitindo uma extensão flexível sem modificar o código existente.
Desenvolvimento
problema da expressão