Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dicas / como aplicar o padrão MVC corretamente no desenvolvimento de aplicações

Olá pessoal!

Durante os 3 cursos de Javascript Avançado (EcmaScript 2015, ES6) foi utilizado o padrão MVC (model-view-controller) na aplicação desenvolvida.

Já tinha ouvido falar do conceito, mas nunca tinha utilizado este padrão em si.

Dúvida: como saber se estou seguindo o padrão MVC corretamente? Existe algum documento ou equivalente que explique este padrão / estrutura (se possível de forma simples) ?

Tentando exemplificar, considerando a aplicação que desenvolvemos em Javascript (pasta app-es6/js/ deste 3 cursos avançados, que contém os arquivos .js): a aplicação pode/deve ter os seguintes diretórios:

  • controller [obrigatório]: ("interface" entre a view e o model) ;

  • view [obrigatório]: partes do (ou que interagem com o) layout da aplicação;

  • model [obrigatório]:

  • services [opcional / depende da aplicação): explicação de quais arquivos js devem ser considerados neste diretório.

  • helpers [opcional / depende da aplicação): explicação de quais arquivos js devem ser considerados neste diretório.

  • etc...

Poderia procurar na web, mas estou colocando aqui para, primeiramente, ter um retorno no padrão / metodologia de ensino da Alura (algum curso, link que vocês consideram, ou até se vocês aplicam e como aplicam este padrão nas vossas aplicações / projetos).

Atenciosamente.

3 respostas
solução!

Oi Elías, tudo bem? Então, até onde sei, não existe um documento que diz pra você exatamente as regras de como aplicar exatamente um MVC.

Haverão livros e documentos mais bem conceituados falando sobre arquitetura de camadas, onde o MVC é apenas um dos modelos arquiteturais.

Outro modelo é o Client/Server por exemplo. É uma arquitetura também. O mais comum de se ver nas mais diversas variâncias.

Veja por exemplo, que o service não aparece na sigla MVC, por tanto, não necessariamente estamos seguindo o MVC puro e aplicado.

Olhando de longe, essa parte mais abstrata da programação onde pensamos em camadas, serviços, middlewares... Parece ser a parte que demanda muita experiência para não confundir tudo.

Acabei encontrando esse artigo que tem várias ilustrações legais sobre padrões arquiteturais comuns: https://towardsdatascience.com/10-common-software-architectural-patterns-in-a-nutshell-a0b47a1e9013

O MVC parece muito estar nesse Layered pattern, que também pode ter uma mescla de Client-server pattern.

Olá Wanderson!

Novamente muito obrigado pelo retorno.

Ótima explicação e link que você passou.

Com essas novas informações ficou mais claro e concordo contigo, dificilmente vai ter uma aplicação que segue fielmente o MVC.

No meu entendimento o MVC é um dos padrões que pode ser utilizado como estrutura básica / padrão inicial para, além da aplicação do padrão MVC em si, também conter partes ("ramificações") com os padrões Layered e Client-server, conforme você já citou.

Valeu! Atenciosamente.

Precisando, estamos por aqui Elías! Bons estudos!