5 - O MVC e a arquitetura em três camadas são a mesma coisa?

Alguns programadores, ao ouvir que o sistema está dividido em três áreas de responsabilidade, automaticamente assumem que estas responsabilidades são as mesmas entre o Model-View-Controller (MVC) e a arquitetura em três camadas. Mas isso não é verdade!

Embora haja semelhanças, também existem algumas diferenças importantes:

As sobreposições e as diferenças são mostradas na figura abaixo:

A MVC e 3 camadas arquiteturas combinadas

Você pode pensar que qualquer implementação de MVC poderia automaticamente ser considerada uma implementação de três camadas, mas este não é o caso. Em cada implementação de MVC existe uma característica fundamental, que torna isso impossível, e é aí que a conexão do banco de dados é feita.

Na arquitetura de três camadas toda a comunicação com o banco de dados, e isso inclui a abertura de uma conexão, é feita dentro da camada de acesso a dados após o recebimento de um pedido da camada de negócios. A camada de apresentação não tem qualquer comunicação com o banco de dados, que só pode se comunicar com ela através da camada de negócios. Os frameworks MVC fazem a conexão do banco de dados dentro do controlador, e o objeto de conexão é então transmitido ao modelo que, em seguida, usa-o quando necessário.
Copyright © 2016 AIEC.