Sou estudante, mas espero estar mudando para a indústria de software em breve. Parece haver muita publicidade sobre o padrão de software MVC. Percebi que os frameworks PHP geralmente são MVC, e as linguagens que não são da Web ... é o mesmo com elas? Para minha dissertação de mestrado (C ++), escolhi o padrão MVC porque ele separa bem a lógica e a interface do usuário.
Na indústria é usado muito? Em caso afirmativo, quais são os principais motivos e quais são outros designs populares e concorrentes?
Respostas:
O MVC recebe muito hype e uso porque é um padrão muito útil para seu domínio.
O MVC incentiva a separação de preocupações. Isso pode simplificar o desenvolvimento se for feito corretamente. Qualquer aplicativo que exiba e / ou modifique os dados contidos em um armazenamento de dados terá a funcionalidade MVC, mas não poderá ser separado. Não dividir os componentes provavelmente introduzirá acoplamentos indesejáveis entre as preocupações.
Com o MVC, deve ser relativamente fácil alterar a interface front-end (Visualização) de um aplicativo sem modificar o controlador ou o modelo. Isso pode ser desejável se você precisar permitir o acesso de um smartphone, da Web e de um ou mais aplicativos.
Para equipes grandes, o MVC pode permitir um melhor uso dos recursos, pois os desenvolvedores podem receber tarefas em uma das camadas e podem não precisar de muita habilidade nas outras camadas. Dependendo da sobrecarga dos recursos de coordenação, isso pode ser mais eficiente.
fonte
Sim, é muito usado. Os aplicativos para iPhone / iPad são configurados como MVC. Eu tenho visto muitos aplicativos asp.net MVC ultimamente.
O MVC permite mais flexibilidade no caminho e realmente incentiva os desenvolvedores a escrever código separado para cada função. Facilita a manutenção.
fonte
Está em voga no momento.
Nunca subestime o poder do hype. Em breve, alguém descobrirá algo mais novo, mais brilhante e fácil de entender, e todo mundo estará condenando o MVC como a raiz de todo mal (aconteceu com os webforms), ou haverá tantas pessoas usando isso que os veteranos mais grisalhos decodifique-o como uma coisa "touro de gerenciamento * * " (aconteceu com o XML). Ou haverá uma mudança para outro padrão, porque o MVC "não é flexível o suficiente para o problema super difícil que eu preciso resolver" (linguagens de tipo estático versus linguagens dinâmicas).
No final do dia, o MVC é uma abordagem de estrutura adequada para vários problemas que a programação da web apresenta. Ficará por aí por um tempo, mas imagino que a razão pela qual a maioria das pessoas o esteja usando seja a conformidade com os chavões.
EDITAR
Observe: estou ciente de que o padrão MVC existe há anos e foi usado em estruturas antes do asp.net MVC. Só estou dizendo que é bastante popular no momento, por isso está ganhando mais destaque do que outras abordagens. Uso o MVC para todos os meus projetos pessoais e também o utilizo em projetos comerciais (sou desenvolvedor .net).
Este não era um discurso retórico.
fonte
Pela minha experiência, ele não é usado tanto quanto deveria. É um modelo muito melhor do que algumas das alternativas, mas está recebendo muito hype nos últimos anos; por causa disso, existem muitos itens herdados que as pessoas têm medo de converter para MVC ou de usar MVC para trabalhos futuros, porque estão fora da zona de conforto.
fonte
Acho que você descobrirá que a família Stack Exchange é executada no MVC
fonte
O ASP.NET MVC ganhou muito destaque nos aplicativos da Web, pois o .NET é muito usado no setor.
Os aplicativos Web da Microsoft evoluíram do ASP clássico para o ASP.NET, que é baseado em Web Forms (para permitir que as habilidades que os desenvolvedores do VB6 Win Forms já precisavam ser facilmente traduzidas para a nova fronteira da Web).
Infelizmente, os Web Forms são baseados em estado e o HTTP (no qual a web é baseada) é sem estado, portanto, foram necessárias muitas soluções desagradáveis devido a coisas como os estados de exibição.
O ASP.NET MVC permite que as habilidades dos desenvolvedores dos WebForms sejam traduzidas para uma estrutura da Web com bom SoC e que tenha se esforçado bastante para ser testável (como o WebForms não é muito testável, a equipe do MVC colocou muitos esforço na estrutura).
Dito isto, não é uma bala de panacéia / prata e, como em qualquer estrutura, há momentos para usá-lo e momentos para não usá-lo. Espero que as pessoas não o usem para tentar resolver tudo, afinal: quando sua única ferramenta é um martelo, todo problema parece um prego.
fonte
É apenas um momento na história, pois o MVC é um par de conceitos muito simples que, por acaso, receberam hype de algumas estruturas específicas, que o destacam em seu material de marketing. Também acontece com muitas das boas práticas que surgiram no desenvolvimento de software. Isso se aplica duas vezes ao desenvolvimento pseudo-stateful, como HTTP; tanto que só conheço outro "padrão" verdadeiramente diferente usado no mundo da web - o modelo baseado em eventos muito difamado do ASP.Net WebForms.
Sinceramente, estou um pouco surpreso que exista o suficiente para toda uma dissertação.
Mas para responder sua pergunta. O WebForms é uma fatia estreita do web pie, principalmente para os aplicativos de negócios da intranet. Páginas codificadas com espaguete sem padrão real provavelmente compõem uma quantidade decente do diagrama de Venn, mas praticamente qualquer coisa que seja uma estrutura é pelo menos fortemente influenciada pelo MVC; portanto, sua resposta curta seria um SIM retumbante .
fonte