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 :)


Responder a