Introducci贸n al curso

1

Introducci贸n al curso de Profesional de Arquitectura de Software

Atributos de calidad

2

Definici贸n

3

Atributos: Idoneidad funcional

4

Atributos: Eficiencia de ejecuci贸n

5

Atributos: Compatibilidad

6

Atributos: Usabilidad

7

Atributos: Confiabilidad

8

Atributos: Seguridad

9

Atributos: Mantenibilidad

10

Atributos: Portabilidad

11

Tensiones entre atributos

12

Analizando PlatziServicios

Patrones de arquitectura

13

Patrones monol铆ticos vs distribuidos

14

Patrones: Modelo Vista Controlador

15

Patrones: Capas

16

Patrones: Orientado a eventos / Provisi贸n de eventos.

17

Patrones: Microkernel - Plug-ins

18

Patrones: Comparte-nada

19

Patrones: Microservicios

20

Patrones: CQRS

21

Patrones: Hexagonal - Puertos y adaptadores

22

Patrones: Dise帽o orientado al dominio

23

Combinando patrones de arquitectura

24

Analizando nuevamente PlatziServicios

Dise帽o de una arquitectura

25

Pararse en hombros de gigantes

26

Herramientas y partes de un dise帽o: Tipos de conectores

27

Conectores: Llamado asincr贸nico / sincr贸nico. Modelo Cliente servidor.

28

Conectores: Enrutador, difusi贸n

29

Conectores: Pizarra, repositorio, colas, modelo PUBSUB

30

Escenarios y t谩cticas

31

Escenarios: Disponibilidad, detecci贸n, reparaci贸n

32

Escenarios: Reintroducci贸n y prevenci贸n

33

Escenarios: Mantenibilidad

34

Escenarios: Prevenir efectos domin贸 y diferir enlace

35

Escenarios: Eficiencia de ejecuci贸n

36

Escenarios: Seguridad

37

Escenarios: Capacidad de prueba

38

Escenarios: Usabilidad

39

Validar las decisiones de dise帽o: Arquitectura en evoluci贸n

40

脷ltimo an谩lisis a PlatziServicios

Modelado y documentaci贸n de arquitectura

41

C贸mo comunicar la arquitectura: Vistas y Puntos de vista

42

Documentaci贸n vs implementaci贸n

43

Conclusiones del curso

A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Patrones: Modelo Vista Controlador

14/43
Recursos

Este es uno de los patrones mas nombrados. El modelo vista controlador, separa a nuestra aplicaci贸n en tres grandes partes.

Aportes 21

Preguntas 5

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

El Modelo Vista Controlador, separa los datos de una aplicaci贸n, la interfaz de usuario, y la l贸gica de control en tres componentes distintos.

Es un modelo maduro y que ha demostrado su validez en todo tipo de aplicaciones y multitud de lenguajes y plataformas de desarrollo.

**-El Modelo **que contiene una representaci贸n de los datos que maneja el sistema, su l贸gica de negocio, y sus mecanismos de persistencia.
-La Vista, o interfaz de usuario, que compone la informaci贸n que se env铆a al cliente y los mecanismos interacci贸n con 茅ste.
**-El Controlador, **que act煤a como intermediario entre el Modelo y la Vista, gestionando el flujo de informaci贸n entre ellos y las transformaciones para adaptar los datos a las necesidades de cada uno.

El mundo de Patrones puede ser confuso y m谩s si no hay bases o contexto, por ello dejo un resumen de como a mi me ha sido f谩cil comprenderos鈥

  • Estilos Arquitect贸nicos: se refieren a estructuras y como los componentes se comunican. "Nivel Infraestructuras"
    Ejemplo: Cliente-Servidor, Arquitectura-Capas, Monolitico, MicroKernel, P2P, SOA, Microservicios, EDA, REST
  • Patrones Arquitect贸nicos: soluciones implementadas bajo un estilo arquitectonico. "Dise帽o Alto Nivel"
    Ejemplo: Circuite-Brake, Saga, Dahsboard, Sharding, MVC, Throttling, Polling, WebHook, LoadBalance, Pipes & Filters, Event Bus, Dashboard, CQRS, Cache Aside, Publisher/Suscriber, Backends for Frontends
  • Patrones de Dise帽o de Software: t茅cnicas para resolver problemas comunes en el desarrollo de software, estan divididos en 3 categoria: (Dise帽o Bajo Nivel)
    ->CREACIONALES<-
    Singleton, Prototype, Builder, Factory Method, Abstract Factory, Object Pool
    ->ESTRUCTURALES<-
    Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy
    ->COMPORTAMIENTO<-
    Iterator, Command, Observer, Tempalte Method, Strategy, Chain of Responsability, Interpreter, Mediator, Moment, Null Object, State, Visitor
<h3>Modelo - Vista-Controlador</h3>

La comunicaci贸n m谩s importante es la Vista-modelo, porque es importante separar la vista (Como se ve el sistema) del Conocimiento (Que es lo que el sistema puede hacer). De esta manera ambos pueden crecer escalarmente.


Los siguientes son variantes de este patron:

  • Model-View: ASP.net, C#
  • Modelo vista Presentador: Cambia el rol de usuario por un coordinador de vistas, Sin embargo siguen separadas las vistas de modelos.
  • Flux: Se preocupa por como fluyen los datos, este patron plantea la comunicaci贸n de una sola v铆a separando los tres componentes.

En esta clase se habl贸 del patr贸n de dise帽o Modelo Vista Controlador (MVC), el cual establece la separaci贸n de responsabilidades de la siguiente manera:

- Modelo: El estado del sistema
- Vista: La presentaci贸n
- Controlador: Las acciones del usuario.

De ah铆 que tambi茅n se mencionaron variantes de este patr贸n de dise帽o, como:
Modelo Vista VistaModelo (MVVM) Donde el ViewModel contiene toda la l贸gica de presentaci贸n. Permite abstracci贸n de l贸gica de la vista. Ejemplo: C# y ASP.NET.
Modelo Vista Presentador (MVP): Donde el Presenter lleva toda la l贸gica de presentaci贸n. Es un coordinador o intermediario, es quien va a mediar entre la vista y el modelo, sin que estos interact煤en entre s铆.
Flux: Maneja el flujo de datos (C贸mo fluyen los datos). Aqu铆 se maneja la comunicaci贸n en una sola v铆a. Se elimina la comunicaci贸n bidireccional que hab铆a entre modelo y controlador. Se deja de lado esa comunicaci贸n triangular del MVC.

Apuntes:

Modelo Vista Controlador

Separa a nuestra aplicaci贸n en tres grandes partes: El Modelo, La Vista, El controlador. Podemos hacer que la visa cambie sin que el modelo tenga que cambiar y a su vez agregar acciones de usuario que aprovechen el mismo modelo y la misma vista.

Modelo - vista - controlador .

les dejo aqu铆 algo para complemetar el material del curso. Fuente wikipedia.

  • Modelo: Es la representaci贸n de la informaci贸n con la cual el sistema opera, por lo tanto gestiona todos los accesos a dicha informaci贸n, tanto consultas como actualizaciones, implementando tambi茅n los privilegios de acceso que se hayan descrito en las especificaciones de la aplicaci贸n (l贸gica de negocio). Env铆a a la 鈥榲ista鈥 aquella parte de la informaci贸n que en cada momento se le solicita para que sea mostrada (t铆picamente a un usuario). Las peticiones de acceso o manipulaci贸n de informaci贸n llegan al 鈥榤odelo鈥 a trav茅s del 鈥榗ontrolador鈥.

  • Conrtolador: responde a eventos (usualmente acciones del usuario) e invoca peticiones al 鈥榤odelo鈥 cuando se hace alguna solicitud sobre la informaci贸n (por ejemplo, editar un documento o un registro en una base de datos). Tambi茅n puede enviar comandos a su 鈥榲ista鈥 asociada si se solicita un cambio en la forma en que se presenta el 鈥榤odelo鈥 (por ejemplo, desplazamiento o scroll por un documento o por los diferentes registros de una base de datos), por tanto se podr铆a decir que el 鈥榗ontrolador鈥 hace de intermediario entre la 鈥榲ista鈥 y el 鈥榤odelo鈥

  • La Vista: Presenta el 鈥榤odelo鈥 (informaci贸n y l贸gica de negocio) en un formato adecuado para interactuar (usualmente la interfaz de usuario), por tanto requiere de dicho 鈥榤odelo鈥 la informaci贸n que debe representar como salida.

Uso
Arquitectura para aplicaciones World Wide Web en los principales lenguajes de programaci贸n.
Marcos web como Django y Rails .

Este patr贸n, tambi茅n conocido como patr贸n MVC, divide una aplicaci贸n interactiva en 3 partes, como:

  • modelo 鈥 contiene la funcionalidad y los datos b谩sicos

  • vista : muestra la informaci贸n al usuario (se puede definir m谩s de una vista)

  • controlador : maneja la entrada del usuario

Muy flojas las explicaciones de los conceptos en este curso. Para algo m谩s claro y rico en contenido, recomiendo visitar este enlace del Blog del se帽or Martin Fowler: https://martinfowler.com/eaaDev/uiArchs.html#ModelViewController

Por que dice 鈥渕as erroneamente utilizado鈥 al principio? sorry no me quedo claro.

Modelo Vista Controlador.
Separa nuestra aplicaci贸n en tres partes.

Y los frameworks por ejemplo Laravel usa este patr贸n MVC ?

Descripcion de las tres capas

Angulat tambien usa el modelo MVC si mal no estoy

驴Este patr贸n puede ser de tipo monol铆tico, distribuido o los dos?

Me esta diciendo que esta mal hacer un modelo por cada entidad?, o un controlador por cada vista?

En mi trabajo, me ha tocado entrevistar a muchos recursos que en su CV indican dominar este patr贸n y al preguntarles sobre el muy pocos saben realmente de que se trata.

Excelente鈥 muy bien explicado-