Pessoal esta thread nao é para discutir sobre a utilização de frameworks, MVP, MVC, etc... Nem sobre o uso deste ou daquele framework. É para quem utiliza Datasets e gostaria de continuar utilizando controles Dataware ok? Sem Xiitismos por favor!
Eu vou expor alguns pensamentos aqui e gostaria que colocassem as suas opiniões sobre como fazem em suas aplicações (se é que fazem) para separar: 1) Apresentação x Lógica da Apresentação Ou seja, vc separa seu Form do código de interação? Exemplo: o click de um botão nao ser manipulado diretamente na classe do Form que está o botão. Seu form seria completamente burro, apenas componentes em cima de um formulário. 2) Lógica da Apresentação x Lógica de Acesso a Dados Ou seja, vc chama métodos dos Datasets, First, Insert, Delete, FieldByName, etc. na lógica de apresentação (no onclick de um botão por exemplo). Ou você faz da seguinte forma: Se a lógica de apresentação precisa ter acesso alguma informação relativo ao Dataset chamaria métodos no Datamodule e este sim, conhecendo o Dataset faria o que precisa ser feito? Eu utilizo 3 camadas e estou pensando em formas de reutilizar uma aplicação que usa Datasets para funcionar tanto web quanto desktop. E este tipo de separação acima é de extrema importância para que isso ocorra em minha opinião. Arquiteturas previstas: Cliente: Browser Servidor Web: DMCliente Servidor de Aplicação: RemoteDatamodule e Cliente: Formulário Desktop + DMCliente Servidor de Aplicação: RemoteDatamodule Acima, temos a mesma lógica de acesso a dados compartilhada entre os 2 tipos de aplicação, teria de refazer a camada de apresentação apenas, assunto de uma próxima discussão :)