MVC é um de padrão de projeto que sua finalidade é uma
forma de quebrar a aplicação em três camadas: Model,View e
Controller.
As vantagens de usar um padrão de projeto são várias, algumas delas são
aumento na produtividade, facilita a documentação,reduz a complexidade no
código, entre outros.
A vantagem do MVC é justamente essa quebra de três camadas, onde se
consegue isolar as regras do negócio da lógica de apresentação(interface). Ou
seja, é possível criar/modificar várias interfaces sem fazer alteração nas regras
do negócio(Model)
Model(Modelo)
O Model(modelo) basicamente é o responsável para
receber instruções e retornar/registrar dados em uma
base de dados.
View(Exibição)
O View(Exibição) é a interface gráfica, é toda a
estrutura que o usuário está visualizando, é por
ela que o usuário irá interagir com a maquina.
Controller
O Controller define a comunicação entre a interface e regras de
negocio, ou seja, faz a separação entre as camadas View(Exibição) e
Model(Modelo).
Acoplamento é o grau que uma classe conhece a outra. Ou seja, quanto menos
dependente uma classe é de outra, há um baixo acoplamento e é bom. E quanto
mais dependente é, vai haver um alto acoplamento e é ruim
MVC possui um grau de acoplamento é bom, por
que as camadas de Visão e Controle promovem
uma redução de acoplamento
Coesão: Quando temos uma classe que tem um
propósito claro,focado e único, isso é alta coesão e
é bom. Agora se a classe não possui uma função
clara, ela tem baixa coesão e isso é ruim
O MVC possui uma alta coesão por que
cada as camadas de Visão e Controle
aumentam a coesão do projeto,