Arquitetura de software – padrão mvc ioc
Bom dia a todos, recebi uma solicitação de um amigo para exemplificar a arquitetura MVC com Inversion of Control (IoC) em PHP. Antes de mais nada gostaria primeiro de dar uma revisada na parte teórica. Arquitetura de Software: Define os componentes de software, suas estruturas, o relacionamento interno ou externo (componentes de outros sistemas) e suas interfaces.
Padrão Arquitetural MVC (Model-View-Controller): Visão: É a camada de visualização da sua aplicação, onde ela apenas apresenta o que foi obtido através das outras camadas. Podemos dizer que é o que o usuário final irá visualizar/interagir. Controle: É a camada responsável por identificar as requisições que foram ou não realizadas* através da camada de visão. Também realiza o gerenciamento da comunicação entre as camadas de visão e de modelo. Modelo: É o modelo da sua aplicação, onde se define a estrutura das classes que serão utilizadas para armazenamento de valores. Também é na camada de modelo, dentro da camada DAO que é realizada a comunicação com a base de dados. Podemos dizer que o modelo é a camada de negocio da aplicação. *Pode haver comunicação entre os sistemas, sendo assim o sistema externo não irá se comunicar através da camada de visão, um exemplo de tecnologia onde um sistema realiza a comunicação com outro sistema é o Web Service.
Essas 3 camadas são o alicerce da arquitetura MVC, lembrando que dentro dessas camadas, existem outras. Exemplo: Dentro da camada Model, existe a camada DAO, que é responsáve l pela comunicação e persistência no banco de dados. Dentro da camada Controller, existe a camada Action, que é responsável pela captura dos dados e comunicação com a camada Model. Dentro da camada Model, existe a camada de Service, que é a camada responsável pelos serviços da aplicação, e por aí vai… Agora que sabemos o que é arquitetura de software e como é dividida a arquitetura MVC, iremos falar