Soy estudiante pero espero mudarme pronto a la industria del software. Parece que hay mucha publicidad sobre el patrón de software MVC. Me di cuenta de que los frameworks de PHP a menudo son MVC, ¿qué pasa con los lenguajes que no son web ... es lo mismo con ellos? Para mi disertación de maestría (C ++), elegí el patrón MVC porque separa muy bien la lógica y la interfaz de usuario.
¿En la industria se usa mucho? Si es así, ¿cuáles son las razones principales y cuáles son otros diseños populares y competitivos?
Respuestas:
MVC recibe mucha publicidad y uso porque es un patrón muy útil para su dominio.
MVC fomenta la separación de preocupaciones. Esto puede simplificar el desarrollo si se hace correctamente. Cualquier aplicación que muestre y / o modifique datos contenidos en un almacén de datos tendrá la funcionalidad MVC, pero no puede separarse. Es probable que no dividir los componentes introduzca un acoplamiento indeseable entre las preocupaciones.
Con MVC debería ser relativamente fácil cambiar la interfaz frontal (Vista) de una aplicación sin modificar el controlador o el modelo. Esto puede ser conveniente si necesita permitir el acceso desde un teléfono inteligente, la Web y una o más aplicaciones.
Para equipos grandes, MVC puede permitir un mejor uso de los recursos, ya que los desarrolladores pueden tener la tarea de trabajar en una de las capas, y es posible que no necesiten mucha habilidad en las otras capas. Dependiendo de los gastos generales de los recursos de coordinación, esto puede ser más eficiente.
fuente
Sí, se usa mucho. Las aplicaciones para iPhone / iPad están configuradas como MVC. He visto muchas aplicaciones asp.net MVC últimamente.
MVC permite una mayor flexibilidad en el futuro y realmente alienta a los desarrolladores a escribir código separado para cada función. Hace que sea más fácil de mantener.
fuente
Está de moda en este momento.
Nunca subestimes el poder del bombo. Pronto, alguien se le ocurrirá algo más nuevo, más brillante y más fácil de entender, y todos estarán denunciando a MVC como la raíz de todos los males (sucedió con los formularios web), o habrá tanta gente usándolo que los veteranos más canosos descifrarlo como un "toro de gestión * * " (sucedió con XML). O habrá un cambio hacia algún otro patrón porque MVC "no es lo suficientemente flexible para el problema súper difícil que necesito resolver" (lenguajes de tipo estático frente a lenguajes dinámicos).
Al final del día, MVC es un enfoque de marco que es adecuado para una serie de problemas que arroja la programación web. Permanecerá por un tiempo, pero me imagino que la razón por la que la mayoría de la gente lo está usando es para cumplir con la palabra de moda.
EDITAR
Tenga en cuenta: soy muy consciente de que el patrón MVC ha existido durante años y se ha utilizado en marcos antes de asp.net MVC. Solo digo que es bastante popular en este momento, por lo que está recibiendo más prensa que otros enfoques. Uso MVC para todos mis proyectos personales, y también lo he estado usando en proyectos comerciales (soy desarrollador de .net).
Esto no fue una diatriba.
fuente
Desde mi experiencia, no se usa tanto como debería. Es un modelo mucho mejor que algunas de las alternativas, pero solo ha recibido mucha publicidad en los últimos años; Debido a eso, hay una gran cantidad de legado que las personas temen convertir a MVC o temen usar MVC para trabajos futuros porque está fuera de su zona de confort.
fuente
Creo que encontrarás que la familia Stack Exchange se ejecuta en MVC
fuente
ASP.NET MVC ha ganado mucha importancia para las aplicaciones web, ya que .NET se usa mucho en la industria.
Las aplicaciones web de Microsoft evolucionaron de ASP clásico a ASP.NET, que se basa en formularios web (para permitir que las habilidades que los desarrolladores de formularios VB6 Win ya tenían que traducir fácilmente a la nueva frontera de la web).
Desafortunadamente, Web Forms está basado en estado y HTTP (en el que se basa la web) no tiene estado, por lo que se necesitaban muchas soluciones desagradables debido a cosas como las vistas.
ASP.NET MVC permite que las habilidades que los desarrolladores de WebForms tienen que traducir a un marco web que tenga un buen SoC y que haya tenido mucho esfuerzo para ser comprobable (dado que WebForms no es muy comprobable, el equipo de MVC ha puesto mucho esfuerzo en el marco).
Dicho esto, no es una bala de panacea / plata, y como cualquier marco, hay momentos para usarlo y otros no. Esperemos que la gente no lo use para tratar de resolver todo, después de todo: cuando su única herramienta es un martillo, cada problema parece un clavo.
fuente
Es solo un momento en la historia, ya que MVC es un par de conceptos muy simples que han recibido publicidad de un par de marcos específicos que lo destacan en su material de marketing. También sucede con muchas de las buenas prácticas que han surgido en el desarrollo de software. Esto aplica el doble para el desarrollo pseudoestado como HTTP; tanto que solo conozco otro "patrón" verdaderamente diferente que se usa en el mundo web: el muy difamado modelo basado en eventos ASP.Net WebForms.
Sinceramente, estoy un poco sorprendido de que haya suficiente para una disertación completa.
Pero para responder a tu pregunta. WebForms es un segmento estrecho de la tarta web que se instala principalmente en aplicaciones empresariales de intranet. Las páginas codificadas con espagueti sin patrón real probablemente componen una cantidad decente del diagrama de Venn, pero casi cualquier cosa que sea un marco está al menos fuertemente influenciada por MVC, por lo que su respuesta breve sería un rotundo SÍ .
fuente