--- "Claudio Marconi" <[EMAIL PROTECTED]> escreveu
>
> Bastante interessante este post, devo mencionar que tb me interessa
> muito, no entanto como foi mencionado no primeiro post... muito
> material mas que não diz muita coisa. Sempre o trivial, quando
> postei o primeiro post sobre este assunto, que faz muito tempo,
> havia questionado se alguem programava 3 camadas usando OOP, no
> entando não obtive nenhuma resposta.
> 
> Se me perguntarem se faço isso, com certeza vou responder que não.
> Mas meu interesse é justamente saber como seria programar 3 camadas
> usando OOP, passando meus objetos de uma camada para outra, e bla,
> bla, bla.
> 
> Ex: como seria persistir um objeto cliente usando 3 camadas e por
> aí vai.

Ainda não meti a cara com objetos e 3 camadas, então vou só divagar um
pouco, ok? Quem sabe a gente troque algumas idéias.

Primeiro de tudo, como você enxerga uma aplicação cliente? Totalmente
estúpida? Um pouco inteligente? Como você vê uma atualização da
aplicação -- apenas o servidor de aplicação ou os clientes também?

Para passar os objetos propriamente ditos entre as camadas, você vai
precisar linkar as suas classes de negócio tanto no aplicativo da
camada de aplicação quanto no aplicativo da camada cliente. Uma forma
de emagrecer um pouco a camada cliente é criar interfaces para os
objetos, apenas a interface é linkada nas duas camadas; no entanto a
camada de aplicação tem o objeto de negócio e, na camada cliente, a
interface é implementada por um componente da parte visual (ex, uma
parte do Model do MVP)

As informações propriamente ditas são serializadas. Seu framework tem
que saber transformar um objeto de negócio em um stream, e transformar
um stream em um objeto de negócio. Você ainda pode usar um protocolo
como soap, mas suas classes tem que ser 'soapable', elas devem ter
parentesco com as classes de algum framework que fale este protocolo.
Aqui fica parecido com a serialização, basta seu framework criar um
objeto 'soapable' a partir de um objeto de negócio, e na outra ponta
este tal objeto ser convertido novamente em seu objeto de negócio ou
no objeto do seu framework de apresentação (MVP & cia)

Parece razoável?


Responder a