Fórum [OFF] Discussão sobre arquitetura n-camadas. #296081
19/09/2005
Estava respondendo uma questão no forum sobre .NET. Eu disse que em .NET devemos utilizar a arquitetura de 3 camadas para acesso a dados e o colega me questionou se então deveria usar .NET Remoting. Ai me veio a seguinte pergunta: parece que algumas pessoas acham que arquitetura em n-camadas obriga a distribuição das camadas em máquinas diferentes, o que não é verdade, ou eu estou enganado?
Posts
19/09/2005
Bruno Belchior
até onde eu sei o colega está certo, visto que essas camadas são abstratas e não precizam existir fisicamente... até porque as três podem estar em um único host...
Pelo menos a camada Client precisa ser distribuída entre as máquinas pq não faz muito sentido escrever software em multi-camadas para um único equipamento. Um típico exemplo de multi-camadas é o Internet Explorer; cada máquina não possui sua camada Client ?
Tudo bem que hoje é dificil ter aplicações stand alone, mas nada impede que ela funcione assim. Estou desenvolvendo uma aplicação comercial em 3 camadas com .NET, sendo que na camada de acesso a dados eu utilizo uma pattern onde posso utilizar qualquer banco de dados apenas mudando o valor de uma propriedade no componente principal da aplicação. E essa aplicação pode funcionar em uma máquina stand alone.
Sim, é claro que multi-camadas rodam perfeitamente num único equipamento, mas o conceito é focado principalemnte em aplicações intranet e internet resolvendo de vez problemas de conexão e reduzindo drasticamente o número de conexões ao Banco.
Um bom programador está sempre olhado para frente, e, mesmo que hoje esteja rodando em uma pequena loja (por exemplo), nada impede que, amanhã esteja rodando em uma grande rede de lojas... É muito melhor já desenvolver prevendo o crescimento, do que ficar reescrevendo depois...