Naked objects
Parece que encontrei o pattern que eu estava procurando nos posts anteriores:
Naked Objects, considerado a antítese do Model-View-Controller. A idéia é implementar todas as regras de negócio num único objeto, o "objeto de domínio", que faz as vezes de Model mais Controller. A partir dele, todas as interfaces de usuário são geradas de forma automática.
A grande vantagem do Naked Objects é a centralização de informações. Alterar um ponto de função implica em mexer apenas num arquivo de código-fonte, ao invés de vários, e todas as interfaces refletem automaticamente a mudança. A desvantagem é obviamente a rigidez das interfaces geradas.
Na minha visão, o Naked Objects não é o "contrário" do MVC, é simplesmente um caminho diferente de chegar no mesmo lugar. Ao invés de desenvolver três classes (Model, View e Controller), desenvolve-se apenas uma (um Controller que açambarca ou pelo menos esconde o Model), e o View é gerado de forma automática.
Na verdade, pode ser preciso desenvolver também o gerador de Views, que vai ser apenas um por tipo de interface (Web, texto, GUI etc.). Na verdade é bom que o desenvolvedor tenha como modificar esse gerador, pois mitiga a desvantagem da rigidez.


0 Comentários:
Postar um comentário
<< Início