[Cascavel-pm] O código mais bizonho q
ue eu já fiz na minha vida (v. 2
.0)
Flavio S. Glock
fglock em pucrs.br
Quarta Junho 16 17:30:33 CDT 2004
Luis Campos de Carvalho wrote:
>
> Se em algum momento do programa você alterar a definição de um método
> (ou mesmo criar um novo) em Classe::B, Classe::C (de acordo com o
> terceiro dogma de OOP - herança) automaticamente tem acesso aos novos
> métodos (não existem "cópias locais" de métodos para um determinado
> escopo ou instância). O "perl dispatcher" vai fazer a Coisa Certa.
Luis, você tem razão sobre isso.
O que eu queria saber é o que você acharia de ter um módulo
Classe::B::Plugin que altera o funcionamento da Classe::B -
Esta não é uma solução meio "suja" do ponto de vista de OO ?
Por exemplo, como você faria para acrescentar código a
um método já existente na Classe::B ? Quando você
redefine um método, a versão anterior é perdida (você tem
que reescrever tudo de novo), e ainda por cima você ganha uns warnings.
Me parece que tanto o programa do Daniel Ruoso, como o
Class::ClassDecorator
tentam resolver este problema de como modificar uma herança que já
foi estabelecida.
- Flavio S. Glock
Mais detalhes sobre a lista de discussão Cascavel-pm