Тёмный
No video :(

¿MVC es un patrón de arquitectura? 

Manuel Zapata
Подписаться 45 тыс.
Просмотров 25 тыс.
50% 1

En este video te cuento mi opinión de MVC (Modelo Vista Controlador) como patrón de arquitectura o como arquitectura de 3 capas.
Arquitectura de 3 capas: • La legendaria arquitec...
Patrón de arquitectura por capas: • Patrón de arquitectura...
Serie en video de patrones de arquitectura:
• 🏗 Patrones de arquitec...
MIS CURSOS
🧹 Arquitecturas Limpias para Desarrollo de Software: platzi.com/l/m...
📐 Arquitectura de Software: manuelzapata.c...
🔌 Patrones de Diseño: manuelzapata.c...
📦 Programación Profesional con Objetos (Gratis): manuelzapata.c...
🌲 Principios de Diseño SOLID (Gratis): manuelzapata.c...
🙌 Hazte miembro del canal: / @manuelzapata
🌎 Mi sitio web: manuelzapata.co
🎦 Suscríbete al canal: manuelzapata.c...
📩 Mi lista de correo: manuelzapata.c...
#ManuelZapata #MVC #PatronesArquitectura

Опубликовано:

 

22 апр 2019

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 70   
@ManuelZapata
@ManuelZapata 5 лет назад
Artículos recomendados al final del video: - Organizing presentation logic: martinfowler.com/eaaDev/OrganizingPresentations.html - GUI architectures: martinfowler.com/eaaDev/uiArchs.html - Capítulo 14 de Patterns of Enterprise Application Architecture: amzn.to/2W2kmLi - Capítulo 32 de Clean Architecture: amzn.to/2W25IUc
@jorgemvg
@jorgemvg 3 года назад
Cuando empecé a programar(hace muchos años ya), este patrón MVC era lo que todos teníamos que hacer, y era pensada como la arquitectura de todo el sistema. Al pasar los años se fue aclarando el tema de que este patrón en un ppio fue pensado como un patrón de presentación. Y lo que ralamente queríamos hacer en ese entonces era una arquitectura por capas.
@diego_solis
@diego_solis 3 года назад
De casualidad varias veces entré a artículos de tu web, ahora me encontré tu canal, excelente..
@MarkTin2000
@MarkTin2000 4 года назад
Excelente esxplicación, estas recomendaciones que haces son muy buenas porque hacen mas fácil la escalabilidad.
@ManuelZapata
@ManuelZapata 4 года назад
Excelente!! Me alegra que hayan sido útiles las recomendaciones.
@ayrtoncravero
@ayrtoncravero 2 года назад
Excelente la explicación! Me aclaro mucho y me ayudo a realmente entender como es la división de responsabilidades.
@xdEdgarBest
@xdEdgarBest Год назад
Cuando vi la explicación que hiciste sobre la arquitectura de 3 capas, entendí que la vista y el controlador en MVC es la presentación, ya que están bastante acopladas y el modelo sería el restante. Muchas gracias por los videos.
@marcomesen867
@marcomesen867 3 года назад
Gracias por el video! Muy bueno! siempre he tenido temas con el MVC al sentir que no me terminaba de llenar las necesidades de organización de mis proyectos, tu video me deja una propuesta super interesante de como trabajarlo y posiblemente lo implementaré
@91juliomario
@91juliomario 3 года назад
tenía exactamente la misma pregunta, ya que estoy viendo este tema en la U. Muchas gracias.
@SimaDamian
@SimaDamian 3 года назад
Es muy buena tu teoría! Yo en particular para una api rest lo hago tal cual como lo indicas, y en ese contexto el controlador es una presentación y la vista no existe. Y por ende el mvc tampoco!
@CAGUANET121
@CAGUANET121 5 лет назад
Manuel excelente tu vídeo, pero quisiera saber qué comprendería la lógica de negocio y la lógica de aplicación. Muchas gracias.
@ManuelZapata
@ManuelZapata 5 лет назад
La lógica de negocio es básicamente la razón por la cual tu aplicación existe. Por ejempo, si tu sistema es para gestionar un restaurante, entonces aspectos en la lógica de negocio incluyen la toma de pedidos, facturación, asignación de meseros, etc. Por otro lado, la lógica de aplicación solo concierne al sistema y no a la empresa. Por ejemplo: manejo de permisos en la aplicación, gestión de caché, logging, entre otros.
@jhonnylopezr.545
@jhonnylopezr.545 5 лет назад
Yo diría que lo que ocurre es que estamos confundiendo frameworks MVC con el patrón de arquitectura MVC como tal. Claro, asp.net mvc o spring son frameworks de presentación basados en arquitectura MVC. Funcionan bien en sistemas ligeros, pequeños. Pero son solo una implementación del patrón. Otras implementaciones requerirán que el modelo se descomponga en diferentes componentes cohesionados: modelo y dominio, por ejemplo. Sigue siendo MVC pero implementado diferente. Es decir, no podemos 'desestimar' (sé que no lo estás haciendo) el patrón MVC, o considerarlo simplemente un patrón de presentación, por cómo se ha implementado en un par de frameworks de presentación.
@ManuelZapata
@ManuelZapata 5 лет назад
Es interesante tu punto de diferenciar entre frameworks MVC con el patrón MVC. Por la forma como normalmente se implementa es que propongo tratarlo como un patrón de presentación. En mi experiencia, eso ahorra muchos dolores de cabeza en el futuro ya que no amarras totalmente tu arquitectura al vaivén de un framework y sus creadores. Gracias por tu aporte Jhonny! Son el tipo de discusiones interesantes que me gusta generar.
@JuanM-ck4jg
@JuanM-ck4jg 4 года назад
¿Entonces yo puedo hacer mi sistema basandome en el patron MVC? Sin usar el framework de asp.net mvc yo me cree un proyecto con las 3 capas que propone mvc de controllador , vista y modelo. ¿Seria MVC o n capas?
@williamalfonso1505
@williamalfonso1505 3 года назад
Hola Manuel cual es la diferencia entre el modelo y las entity que defino en el projecto. Gracias esta chevere su canal.
@raulotanezmontiel767
@raulotanezmontiel767 3 года назад
Hola Manuel, para la parte de testing, ¿cómo se implementaria en MVC? Estoy trabajando actualmente con un proyecto personal y quiero implementar testing pero no logro entender bien como hacerlo o si se puede hacer.
@yoanestradablanco1608
@yoanestradablanco1608 Год назад
Lo que me contaron en la universisad es una kaka ya decia yo que por mis lecturas de ddd mvc no era un patron de arquitectura gracias por el contenido
4 года назад
Muchas gracias! Quedó bien entendido, podríamos decir que el modelo de 3 capas es una arquitectura de software y mvc es un patrón de arquitectura?
@ManuelZapata
@ManuelZapata 4 года назад
Mucha gente clasifica MVC como un patrón de arquitectura. Lo que yo argumento en este vídeo es que es un patrón de presentación. El modelo de 3 capas es una especialización del patrón de capas.
4 года назад
@@ManuelZapata gracias
@ojmalagon
@ojmalagon 4 года назад
@@ManuelZapata Excelente explicación. Actualmente trabajo con una arquitectura por capas: en la capa de presentación usamos MVC, nuestra capa de negocio está construida con REST API y esta a su vez contiene la persistencia a datos. Saludos.
@elgatosoft
@elgatosoft 3 года назад
No veo claro como el controlador pueda pertenecer a la capa de presentación (en la homologación que haces). Desde mi poca experincia, el controlador si trabaja con un protocolo específico (HTTP), pero el framework que utilizo permite generar controladores independiente de quien lo esté invocando. Justo ahora estamos conectando aplicaciones de escritorio (delphi) y aplicaciones en Angular a través de un mismo controlador
@paolagalarza2823
@paolagalarza2823 2 года назад
Manuel podrías aclarar un poco mas en el minuto 2:10, entendí que lógica de aplicación y lógica de negocio no tienen relación. Podrías detallar esas definiciones. Gracias por tomarte el tiempo para tus espectadores.
@ManuelZapata
@ManuelZapata 2 года назад
Hola Paola! Lógica de negocio es la razón por la cual tu sistema existe. Ejemplo: si tienes un software contable, los distintos métodos para calcular un impuesto son lógica de negocio. En el canal tengo un par de videos sobre esto. Lógica de aplicación hace referencia a ese código que se escribe como parte de la estructura de la aplicación. Por ejemplo. Si el producto fue guardado en la BD, redireccione a esta pantalla. Si el producto no fue guardado, mande un correo a XXX y lleve a esta otra pantalla.
@paolagalarza2823
@paolagalarza2823 2 года назад
Es lo que imaginé, pero necesitaba estar más clara. Muchas gracias Manuel por darte tiempo ;)
@beticohernandez9536
@beticohernandez9536 3 года назад
Hola, tienes mas videos relacionados con ese patron
@joseluiscaicedo4096
@joseluiscaicedo4096 3 года назад
MVC puede ser considerado un modelo 4 +1 ?
@lvbernal
@lvbernal 5 лет назад
Excelente video, Manuel. En tu propuesta, la capa de servicios para abstraer la vista y el controlador, es un API REST o es un conjunto de métodos que accedes como una librería externa? Seguramente eso depende del tamaño de la aplicación, pero cómo empezarías?
@ManuelZapata
@ManuelZapata 5 лет назад
Muy buena pregunta Leonardo!! En mi propuesta, la idea es que capa de servicios sea totalmente independiente de algún tipo de UI, API REST, web service o similares. Por lo tanto, sería como una especia de librería que sería consumida directamente ya sea tu API REST o incluso una UI.
5 лет назад
Un servicio está definido por una interfaz la clase que implementa la interfaz es responsable de cómo hacerlo puede usar un repositorio, un API test , leerse un archivo de texto etc. Un ejemplo que creo que se alinea buen bien con el temas del vídeo es la aplicación eshop on web github.com/dotnet-architecture/eShopOnWeb
@ManuelZapata
@ManuelZapata 5 лет назад
muy buen aporte@! Las interfaces, junto con inyección de dependencias, ayudan mucho a dar flexiblidad al uso de los servicios en otras capas.
@neyserhuamantisnado6686
@neyserhuamantisnado6686 4 года назад
Buen video, me podrías indicar a que categoría de diseño de patrones pertenece el MVC?
@ManuelZapata
@ManuelZapata 4 года назад
Por lo general lo suelen catalogar como un patrón de arquitectura. En este video, yo intento demostrar porque no es así.
@adolfoivanec
@adolfoivanec 2 года назад
@@ManuelZapata Buenos dias estimado Manuel. Tengo la misma consulta de Neyser. Ya me quedo claro que MVC no lo consideras como un patron de arquitectura, sino como patron de presentacion. La consulta que me surge luego es a cual de las 3 categorias de patrones de diseño pertenece, si pertenece a Creacion, Estructura o Comportamiento. Desde ya muchas gracias y te felicito por el trabajo que haces, me haz ayudado mucho
@fernandoalbertohernandezhe9570
@fernandoalbertohernandezhe9570 4 года назад
algunas de sus ventajas son: Es mucho más sencillo agregar múltiples representaciones de los mismos datos o información. Facilita agregar nuevos tipos de datos según sea requerido por la aplicación ya que son independientes del funcionamiento de las otras capas. Crear independencia de funcionamiento. Facilita el mantenimiento en caso de errores. Ofrece maneras más sencillas para probar el correcto funcionamiento del sistema. Permite el escalamiento de la aplicación en caso de ser requerido.
@ManuelZapata
@ManuelZapata 3 года назад
Gracias por el aporte Fernando!
@alejoreyes5263
@alejoreyes5263 4 года назад
Como sería la implementación de una capa de servicios? Mencionas que debe ser reutilizable por varios frameworks.
@ManuelZapata
@ManuelZapata 4 года назад
El primero requisito es que no estén amarrados a ningún framework. A partir de ahí, pueden ser solamente un conjunto de clases. Si quieres profundizar en el tema, Martin Fowler tiene un artículo sobre esto: martinfowler.com/articles/dblogic.html
@Algedibarrios
@Algedibarrios 4 года назад
En un proyecto .Net Core por defecto se crea el manejo de datos en los Controladores, mis preguntas son: Los tengo que sacar las conexiones de los Controllers? Dónde y cómo lo hago? Gracias de antemano.
@ManuelZapata
@ManuelZapata 3 года назад
Sí, yo lo sacaría a su propia capa de acceso a datos. Saludos!
@jeanhz1065
@jeanhz1065 3 года назад
El modelo mas bien no seria dependiente del controlador , ya que sin el controlador este no haria nada?
@elkindiaz8200
@elkindiaz8200 3 года назад
hola Manuel tengo una pregunta esto que explica en video lo puedo implementar con laravel ?
@ManuelZapata
@ManuelZapata 3 года назад
No sabría decirte, Elkin. No conozco Laravel.
@cpaez2000
@cpaez2000 3 года назад
El detalle a aqui es que el MVC nacio para poner Orden a la estructura y no generar codigo espagueti. Y los modelos o patrones de capas (2,3,4 capas) nacieron (ademas de eso) para mejorar el performance de una aplicacion en base a miniservicios o programas independientes. Nacieron con 2 enfoques distintos. Por eso tu facilmente puedes ubicar el MVC en la capa de presentacion. Pero no solo ahi. Si haces una API usando por ejemplo NetCore ahi tambien encontraras el MVC pero no hay capa de presentacion como tal. Esta es la razon por la cual no se ponen de acuerdo y es porque nacieron con 2 enfoques distintos. En resumen no hay que mezclar peras con manzanas. MVC es para la estructura y los modelos de capas cada capa es un servicio independiente(Exe, dll) incluso puede ser que cada capa este corriendo en un servidor distinto a miles de kilometros uno de otro. Puedes hacer MVC con 1 sola capa por ejemplo si haces una aplicacion para IOS.
@jacksalvatierra7959
@jacksalvatierra7959 2 года назад
Hola Manuel
@nicolasst225
@nicolasst225 4 года назад
Que diferencia haces entre logica de aplicacion y logica de negocio?
@ManuelZapata
@ManuelZapata 3 года назад
Nicolás, por aquí la respuesta: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-SPmbxvvT7Aw.html
@tranquiloteov
@tranquiloteov 2 года назад
yo me pregunté lo mismo. Gracias por la respuesta.
@jesusvallejo9908
@jesusvallejo9908 3 года назад
Saludos Manuel , es correcto que una aplicacion tenga logica dentro de una base de datos?
@ManuelZapata
@ManuelZapata 3 года назад
En mi opinión, no es correcto Jesus. Sin embargo, es una práctica común con procedimientos almacenados.
@jesusvallejo9908
@jesusvallejo9908 3 года назад
@@ManuelZapata comparto también tu punto de vista estába en duda. Es que considero q no es algo bueno tener lógica de lado de plsql si para eso están los microservicios.
@jacksalvatierra7959
@jacksalvatierra7959 2 года назад
estas en linea?
@alfredrodriguezgarcia2383
@alfredrodriguezgarcia2383 3 года назад
perdon, hay una arquitectura que lleva : entities, usecases, providers, repository, es lo mismo ya q es por capas me parece
@ManuelZapata
@ManuelZapata 3 года назад
Te refieres a Clean Architecture, Alfred?
@alfredrodriguezgarcia2383
@alfredrodriguezgarcia2383 3 года назад
@@ManuelZapata clean architecture es un patron?, porque lo llaman usescases arch.. me marea, lei in poco de Robert martin? Creo
@alxx736
@alxx736 2 года назад
Patron de arquitectura es lo mismo que estilo de arquitectura? Es muy contradictorio lo que hay en la Web
@jmontenegro125
@jmontenegro125 2 года назад
podrias podrias podrias, jajajaja al final crean arquitecturas complejas para un simple CRUD.
@ManuelZapata
@ManuelZapata 2 года назад
Oye, con mi CRUD hecho en microservicios no te metas jejeje
@jmontenegro125
@jmontenegro125 2 года назад
@@ManuelZapata jajajaj no si es claro que los CRUD funcionan, mi comentario va a qué luego uno o dos catálogos entras a los proyectos y zaz una arquitectura con front y back divididos, MVC y N capas hahaha hacen más proyectos que catálogo.
@berto3538
@berto3538 3 года назад
El modelo NO DEBE TENER NEGOCIO NI LÓGICA !!!
@reinaldoguerradelarosa8100
@reinaldoguerradelarosa8100 2 года назад
Buen video pero se recomienda explicar ciertas palabras ya sea con un ejemplo o concepto sencillo.
@ManuelZapata
@ManuelZapata 2 года назад
Gracias por la recomendación. Qué palabras no quedaron claras?
@reyguero
@reyguero 2 года назад
@@ManuelZapata Varias amigo. Soy docente y esperaba usar su video como ejemplo para un curso pero note que varias palabras que usas solo las lees pero realmente no las explica. Así mismo das recomendaciones pero no el porque de las recomendaciones de resto todo bien.
@ManuelZapata
@ManuelZapata 2 года назад
@@reyguero me dejaste en las mismas. Esas palabras habrían servido para crear más contenido aclarándolas. A veces es difícil incluir todas las explicaciones en un video. Eso hace que los videos se tornen largos.
@almatute
@almatute 4 года назад
Para mí tampoco es un patrón de arquitectura, he asistido a varias charlas donde los mismos consultores no llegan a un consenso.
@ManuelZapata
@ManuelZapata 4 года назад
Sí, es de esos temas donde no hay idea unificada.
@Joyragdoll
@Joyragdoll 6 месяцев назад
La convención es que es un Patrón de Arquitectura. El error es que muchos que vienen de .net y utilizan mvc (framework) y lian a los demás con los conceptos de lo que significa la arquitectura MVC.
@fheer22
@fheer22 Год назад
????????
Далее
Patrón de arquitectura de plugins o microkernel
9:04
до/после Знакомо?
00:16
Просмотров 13 тыс.
¿What is the MVC Patter?, Simple explanation
18:23
Просмотров 121 тыс.
¿Qué es MVC?
16:18
Просмотров 33 тыс.
La legendaria arquitectura de 3 capas
10:09
Просмотров 23 тыс.
Layered architecture
9:41
Просмотров 55 тыс.
¿Por qué Debes Aprender ARQUITECTURA de SOFTWARE?
20:34