✝ RIP MVC: Obituário

Vinicius Reis
by Vinicius Reis
Published in
3 min readMay 16, 2016

TL;DR
Este é um texto humorístico,
o texto sério você encontra aqui.

Depois de muita procura e dor para os parentes é declarado oficialmente a morte do MVC. Desaparecido desde meados de 2010, muitos grupos de busca foram formados para procurá-lo, mas tudo indica que ele faleceu. Sem muitas explicações, pedaços de seu corpo foram encontrados em diversos locais do github. Alguns se negam a aceitar sua morte. Para nós, ele sempre viverá nos corações dos verdadeiros amantes de padrões de projetos.

Isso mesmo, MVC is dead.

Quase todos aqueles que aprenderam Orientação à Objetos, quase que ao mesmo tempo encontraram com o MVC. Este que talvez seja o modelo de desenvolvimento de projetos mais usado no mundo. Ele é referência e ponto comum em comparações de centenas de frameworks e modelos de projetos, em um número gigantesco de linguagens e plataformas.

Ele sempre foi mutável, cada linguagem, sistema, ambiente ou framework tinham sua maneira de implementá-lo.

Ele surgiu para colocar em ordem toda a “bagunça” que era o desenvolvimento de software, precisávamos dele.

Mesmo ele não sendo ligado diretamente ao paradigma de Orientação à Objetos, pareciam que foram feitos um para o outro, inseparáveis. Afinal, tudo era tão claro e simples. Model — View — Controller, três palavras que todo desenvolvedor aprendeu a respeitar.

Model, nossa comunicação com o banco de dados agora tinha um protetor. Toda a leitura e escrita eram feitas pelo model.

View, a camada de apresentação dos dados. O HTML de quem desenvolve para web.

Controller, o manda-chuva, o sabetudo. Seu nome já descreve tudo, é ele que tem o controle da situação, nada acontece sem passar por ele.

Eles eram “a lei”, e era lindo. Paz para os desenvolvedores, todos sabiam seus lugares e deveres, todos eram felizes com isso.

Até que coisas surgiram. Não se sabe muito bem onde ou quando. Alguns dizem que estiveram adormecidos desde o primeiro bug. Uns alegam que já os conheceram a muito tempo. A verdade é que isso já não importa mais. Eles já são realidade.

Como um vírus silencioso eles entraram aos poucos no sagrado MVC, inicialmente eram apenas um “plus” ou um facilitador. Estavam ali para nos ajudar, afinal todo desenvolvedor precisa de ajuda.

Depois eram apenas duas ou três pastas a mais, porém sem tocar nas santas pastas models, views e controllers.

Até que SOLID saiu de seu exílio. De um momento para o outro nossos models começaram a ficar fracos, e nossos controllers foram perdendo seu conhecimento. Como se não fosse suficiente, SOLID se aliou ao Clean Code.

Até esse momento algo que era apenas um boato dos desenvolvedores que abandonaram o CodeIgniter, e canções dos bardos usuários de Zend e Symfony, cantadas para assustar os desenvolvedores inocentes, começou a tomar forma e ganhar força.

Até mesmo velhos aliados pareciam ter se voltado à outros paradigmas. Já não era mais simples pegar um projeto e entender o que aquelas pastas significavam…

Que diabos é middleware?! Onde estão os Models?! Que merda de classe UsersRepository é essa?! WTF is Service Provider?! Events, Routes, Console, Services, Repository, Entity, Jobs, Commands, Queues, Manager, Driver, Dependency Injection e Container!? Eu só quero fazer um ‘hello world’!

Em meio a tudo isso nosso sagrado MVC, já não é mais tão sagrado. Nossos projetos evoluíram, agora tudo precisa ser modular ou basear-se em componentes, e em muitos deles nem a onipresente view existe mais.

Em uma última homenagem tentaram mudar o nome MVC para HMVC, MOVE, MVVM, MVP, etc. No final o nome já não importa mais, MVC já não se faz presente entre nós.

(1979 - ?)✝ Rest in Peace MVC

--

--

Vinicius Reis
by Vinicius Reis

Fiquei sem meus peões, meu cavalo, minha torre, meu bispo… E até a rainha… Mas ainda é muito cedo para um xeque-mate. Roy Mustang — Fullmetal Alchemist