SlideShare una empresa de Scribd logo
1 de 45
ENTORNOS
DE DESARROLLO
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRONES Y
ANTIPATRONES
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
EL PROGRAMA INFORMÁTICO
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRONES DE DESARROLLO
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
Establecen los componentes de la
arquitectura, la funcionalidad y el
comportamiento de cada uno.
PATRONES DE DESARROLLO
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
Una solución general a un problema
general que puede adaptarse a un
problema concreto.
PATRONES DE DESARROLLO
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRÓN CREACIONAL
PATRÓN ESTRUCTURAL
PATRÓN DE COMPORTAMIENTO
PATRONES DE DESARROLLO
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRÓN CREACIONAL
PATRONES DE DESARROLLO
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
Definen el modo en el que se construyen
los objetos.
PATRONES DE DESARROLLO: CREACIONAL
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
FÁBRICA ABSTRACTA
CONSTRUCTOR VIRTUAL
PATRONES DE DESARROLLO: CREACIONAL
INSTANCIA ÚNICA
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRONES DE DESARROLLO: CREACIONAL
Se utiliza cuando es necesario crear
diferentes objetos pertenecientes a la
misma familia.
FABRICA ABSTRACTA
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRONES DE DESARROLLO: CREACIONAL
Se utiliza cuando es necesario crear
diferentes objetos complejos a partir de
un objeto concreto.
CONSTRUCCIÓN VIRTUAL
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRONES DE DESARROLLO: CREACIONAL
Se utiliza cuando es necesario limitar a
una la instancias de una clase.
INSTANCIA ÚNICA
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRÓN ESTRUCTURAL
PATRONES DE DESARROLLO
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
Establecen las relaciones y organización
entre los diferentes componentes de
nuestro software.
PATRONES DE DESARROLLO: ESTRUCTURAL
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
DECORADOR
OBJETO COMPUESTO
PATRONES DE DESARROLLO: ESTRUCTURAL
FACHADA
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRONES DE DESARROLLO: ESTRUCTURAL
Cuando es necesario añadir de manera
dinámica diferentes funcionalidades a un
objeto.
DECORADOR
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRONES DE DESARROLLO: ESTRUCTURAL
Cuando trata jerarquía de objetos como
si de uno solo se tratase.
OBJETO COMPUESTO
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRONES DE DESARROLLO: ESTRUCTURAL
Con un solo interfaz accedemos a varios
interfaz del subsistema.
FACHADA
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRÓN DE
COMPORTAMIENTO
PATRONES DE DESARROLLO
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
Describe la comunicación entre objetos y
clases y establece directrices sobre como
utilizarlos.
PATRONES DE DESARROLLO: DE COMPORTAMIENTO
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
ESTADO
VISITOR
PATRONES DE DESARROLLO: DE COMPORTAMIENTO
ITERADOR
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRONES DE DESARROLLO: DE COMPORTAMIENTO
Permite definir un comportamiento
diferente dependiendo del estado
interno del objeto.
ESTADO
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRONES DE DESARROLLO: DE COMPORTAMIENTO
Permite definir nuevas operaciones sobre
una jerarquía de clases sin modificar las
clases sobre las que opera.
VISITOR
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRONES DE DESARROLLO: DE COMPORTAMIENTO
Establece un interfaz que permite
acceder a un conjunto de objetos de una
colección.
ITERADOR
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
ANTIPATRONES
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
CÓDIGO ESPAGUETI
FLUJO DE LAVA
MARTILLO DORADO
REINVENTAR LA RUEDA
INFIERNO DE DEPENDENCIAS
MANEJO DE EXCEPCIONES INÚTILES
CADENAS MÁGICAS
COPIAR & PEGAR
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRONES DE DESARROLLO: ANTIPATRONES
Patrón que utiliza constantes saltos,
llamadas y bucles que enmaraña el flujo
del programa.
CÓDIGO ESPAGUETI
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRONES DE DESARROLLO: ANTIPATRONES
Uso de grandes cantidades de ´código
desordenado, módulos y añadidos, que
rompen la estructura natural del
programa.
FLUJO DE LAVA
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRONES DE DESARROLLO: ANTIPATRONES
Apego injustificado a un paradigma
lenguaje, framework concreto para
solucionar todos los problemas.
MARTILLO DORADO
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRONES DE DESARROLLO: ANTIPATRONES
Implantar soluciones a problemas que ya
existen en el entorno de desarrollo en el
que trabajamos.
REINVENTAR LA RUEDA
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRONES DE DESARROLLO: ANTIPATRONES
Depender de manera abusiva de las
librerías y de componentes de un
entorno de desarrollo.
INFIERNO DE DEPENDENCIAS
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRONES DE DESARROLLO: ANTIPATRONES
Programar queriendo controlar aquellas
excepciones que difícilmente se
producirán en algún momento.
MANEJO DE EXCEPCIONES INÚTILES
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRONES DE DESARROLLO: ANTIPATRONES
Utilización de cadenas de caracteres
explícitas no asociadas al código.
CADENAS MÁGICAS
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
PATRONES DE DESARROLLO: ANTIPATRONES
Abuso de duplicación de código en lugar
de reutilización del existente.
COPIAR & PEGAR
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
DESARROLLO EN TRES CAPAS
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
Surge de la necesidad de separar la lógica
de la aplicación del diseño, de los datos y
de la presentación al usuario.
DESARROLLO EN CAPAS
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
DESARROLLO EN CAPAS
PRESENTACIÓN
NEGOCIO
DATOS
COMUNICA CON EL USUARIO
SE COMUNICA CON LA CAPA NEGOCIO
ALBERGA LOS PROGRAMAS
COMUNICA CON PRESENTACIÓN Y DATOS
CAPA DE ACCESO A DATOS
SE COMUNICA CON LA CAPA NEGOCIO
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
MODELO VISTA CONTROLADOR
MODELO VISTA VISTAMODELO
DESARROLLO EN CAPAS: MODELOS
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
DESARROLLO EN CAPAS: MODELOS
VISTA
CONTROLADOR
MODELO
RECIBE DATOS Y LOS MUESTRA AL USUARIO
CORRESPONDE CON CAPA PRESENTACIÓN
RECIBE LOS EVENTOS DE ENTRADA
REALIZA PETICIONES A MODELO Y A VISTA
CAPA DE ACCESO A DATOS
DEFINE LA LÓGICA DEL NEGOCIO
MODELO VISTA CONTROLADOR
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
DESARROLLO EN CAPAS: MODELOS
VISTA
VISTAMODELO
MODELO
RECIBE DATOS Y LOS MUESTRA AL USUARIO
CORRESPONDE CON CAPA PRESENTACIÓN
RECIBE LOS EVENTOS DE ENTRADA
CREA PRESENTACIÓN VIRTUAL DE DATOS
CAPA DE ACCESO A DATOS
DEFINE LA LÓGICA DEL NEGOCIO
MODELO VISTA VISTAMODELO
ENTORNOS DE DESARROLLO
PATRONES Y ANTIPATRONES
© J.D.CABRERA
ENTORNOS
DE DESARROLLO
Patrones y antipatrones de desarrollo en tres capas

Más contenido relacionado

Similar a Patrones y antipatrones de desarrollo en tres capas

Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónicoKary Elyza
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónicoPity Romero
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónicoKary Elyza
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónicolLuis
 
Herramientas para el mantenimiento del pc
Herramientas para el mantenimiento del pcHerramientas para el mantenimiento del pc
Herramientas para el mantenimiento del pcangyjohannagt
 
ENTORNOS DE DESARROLLO: DIAGRAMA DE CASOS DE USO
ENTORNOS DE DESARROLLO: DIAGRAMA DE CASOS DE USOENTORNOS DE DESARROLLO: DIAGRAMA DE CASOS DE USO
ENTORNOS DE DESARROLLO: DIAGRAMA DE CASOS DE USOJacinto Cabrera Rodríguez
 
Ls2208 quick start guide [spanish]
Ls2208 quick start guide [spanish]Ls2208 quick start guide [spanish]
Ls2208 quick start guide [spanish]David
 
ENTORNOS DE DESARROLLO: FUNDAMENTOS DE PROGRAMACIÓN I
ENTORNOS DE DESARROLLO: FUNDAMENTOS DE PROGRAMACIÓN IENTORNOS DE DESARROLLO: FUNDAMENTOS DE PROGRAMACIÓN I
ENTORNOS DE DESARROLLO: FUNDAMENTOS DE PROGRAMACIÓN IJacinto Cabrera Rodríguez
 
2 normasyrepresentacion
2 normasyrepresentacion2 normasyrepresentacion
2 normasyrepresentacionJulio Martinez
 
Electrónica digital: Lógica programable VHDL
Electrónica digital: Lógica programable VHDL Electrónica digital: Lógica programable VHDL
Electrónica digital: Lógica programable VHDL SANTIAGO PABLO ALBERTO
 
ENTORNOS DE DESARROLLO: ANDROID STUDIO - ESTRUCTURA
ENTORNOS DE DESARROLLO: ANDROID STUDIO - ESTRUCTURA ENTORNOS DE DESARROLLO: ANDROID STUDIO - ESTRUCTURA
ENTORNOS DE DESARROLLO: ANDROID STUDIO - ESTRUCTURA Jacinto Cabrera Rodríguez
 
WordCamp Madrid CSI: El caso de las Backdoors
WordCamp Madrid CSI: El caso de las BackdoorsWordCamp Madrid CSI: El caso de las Backdoors
WordCamp Madrid CSI: El caso de las BackdoorsNestor Angulo de Ugarte
 
Mantenimiento y limpieza de una pc
Mantenimiento y limpieza de una pcMantenimiento y limpieza de una pc
Mantenimiento y limpieza de una pcFabian Urueña
 
Herramientas de computo de yuli
Herramientas de computo de yuliHerramientas de computo de yuli
Herramientas de computo de yuliyulianaosorno82
 
Modelos de software ventajas y desventajas
Modelos de software ventajas y desventajasModelos de software ventajas y desventajas
Modelos de software ventajas y desventajasEdith Carreño
 
Presentación nubes de contenedores con docker swarm
Presentación nubes de contenedores con docker swarmPresentación nubes de contenedores con docker swarm
Presentación nubes de contenedores con docker swarmAlejandro Escanero Blanco
 

Similar a Patrones y antipatrones de desarrollo en tres capas (20)

Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
Herramientas para el mantenimiento del pc
Herramientas para el mantenimiento del pcHerramientas para el mantenimiento del pc
Herramientas para el mantenimiento del pc
 
HERRAMIENTAS
HERRAMIENTASHERRAMIENTAS
HERRAMIENTAS
 
ENTORNOS DE DESARROLLO: DIAGRAMA DE CASOS DE USO
ENTORNOS DE DESARROLLO: DIAGRAMA DE CASOS DE USOENTORNOS DE DESARROLLO: DIAGRAMA DE CASOS DE USO
ENTORNOS DE DESARROLLO: DIAGRAMA DE CASOS DE USO
 
Ls2208 quick start guide [spanish]
Ls2208 quick start guide [spanish]Ls2208 quick start guide [spanish]
Ls2208 quick start guide [spanish]
 
ENTORNOS DE DESARROLLO: FUNDAMENTOS DE PROGRAMACIÓN I
ENTORNOS DE DESARROLLO: FUNDAMENTOS DE PROGRAMACIÓN IENTORNOS DE DESARROLLO: FUNDAMENTOS DE PROGRAMACIÓN I
ENTORNOS DE DESARROLLO: FUNDAMENTOS DE PROGRAMACIÓN I
 
2 normasyrepresentacion
2 normasyrepresentacion2 normasyrepresentacion
2 normasyrepresentacion
 
ANDROID: FUNDAMENTOS DE UNA APLICACIÓN
ANDROID: FUNDAMENTOS DE UNA APLICACIÓNANDROID: FUNDAMENTOS DE UNA APLICACIÓN
ANDROID: FUNDAMENTOS DE UNA APLICACIÓN
 
Electrónica digital: Lógica programable VHDL
Electrónica digital: Lógica programable VHDL Electrónica digital: Lógica programable VHDL
Electrónica digital: Lógica programable VHDL
 
ENTORNOS DE DESARROLLO: ANDROID STUDIO - ESTRUCTURA
ENTORNOS DE DESARROLLO: ANDROID STUDIO - ESTRUCTURA ENTORNOS DE DESARROLLO: ANDROID STUDIO - ESTRUCTURA
ENTORNOS DE DESARROLLO: ANDROID STUDIO - ESTRUCTURA
 
WordCamp Madrid CSI: El caso de las Backdoors
WordCamp Madrid CSI: El caso de las BackdoorsWordCamp Madrid CSI: El caso de las Backdoors
WordCamp Madrid CSI: El caso de las Backdoors
 
TIPOS DE TORNILLOS
TIPOS DE TORNILLOSTIPOS DE TORNILLOS
TIPOS DE TORNILLOS
 
MANTENIMIENTO DE PC'S
MANTENIMIENTO DE PC'SMANTENIMIENTO DE PC'S
MANTENIMIENTO DE PC'S
 
Mantenimiento y limpieza de una pc
Mantenimiento y limpieza de una pcMantenimiento y limpieza de una pc
Mantenimiento y limpieza de una pc
 
Herramientas de computo de yuli
Herramientas de computo de yuliHerramientas de computo de yuli
Herramientas de computo de yuli
 
Modelos de software ventajas y desventajas
Modelos de software ventajas y desventajasModelos de software ventajas y desventajas
Modelos de software ventajas y desventajas
 
Presentación nubes de contenedores con docker swarm
Presentación nubes de contenedores con docker swarmPresentación nubes de contenedores con docker swarm
Presentación nubes de contenedores con docker swarm
 

Más de Jacinto Cabrera Rodríguez

DISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONES
DISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONESDISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONES
DISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONESJacinto Cabrera Rodríguez
 

Más de Jacinto Cabrera Rodríguez (20)

REDES: DUCTUS Y CANALETAS II
REDES: DUCTUS Y CANALETAS IIREDES: DUCTUS Y CANALETAS II
REDES: DUCTUS Y CANALETAS II
 
OTRAS UNIDADES DE ALMACENAMIENTO
OTRAS UNIDADES DE ALMACENAMIENTOOTRAS UNIDADES DE ALMACENAMIENTO
OTRAS UNIDADES DE ALMACENAMIENTO
 
DISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONES
DISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONESDISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONES
DISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONES
 
LAS FUENTES EN LA HISTORIA DEL ARTE
LAS FUENTES EN LA HISTORIA DEL ARTELAS FUENTES EN LA HISTORIA DEL ARTE
LAS FUENTES EN LA HISTORIA DEL ARTE
 
TOULOUSE LAUTREC
TOULOUSE LAUTRECTOULOUSE LAUTREC
TOULOUSE LAUTREC
 
PRÁCTICA MANEJO DE MEMORIA
PRÁCTICA MANEJO DE MEMORIAPRÁCTICA MANEJO DE MEMORIA
PRÁCTICA MANEJO DE MEMORIA
 
DISPOSITIVOS MÓVILES: MATERIAL DESIGN II
DISPOSITIVOS MÓVILES: MATERIAL DESIGN IIDISPOSITIVOS MÓVILES: MATERIAL DESIGN II
DISPOSITIVOS MÓVILES: MATERIAL DESIGN II
 
ZÓCALOS DE TARJETAS
ZÓCALOS DE TARJETASZÓCALOS DE TARJETAS
ZÓCALOS DE TARJETAS
 
ZÓCALOS DE PROCESADOR
ZÓCALOS DE PROCESADORZÓCALOS DE PROCESADOR
ZÓCALOS DE PROCESADOR
 
TIPOS DE MÓDULOS DE MEMORIA
TIPOS DE MÓDULOS DE MEMORIATIPOS DE MÓDULOS DE MEMORIA
TIPOS DE MÓDULOS DE MEMORIA
 
CARCASAS DE ORDENADOR
CARCASAS DE ORDENADORCARCASAS DE ORDENADOR
CARCASAS DE ORDENADOR
 
PRACTICAS DE REDES: PRÁCTICA 26
PRACTICAS DE REDES: PRÁCTICA 26PRACTICAS DE REDES: PRÁCTICA 26
PRACTICAS DE REDES: PRÁCTICA 26
 
PRACTICAS DE REDES: PRÁCTICA 25
PRACTICAS DE REDES: PRÁCTICA 25PRACTICAS DE REDES: PRÁCTICA 25
PRACTICAS DE REDES: PRÁCTICA 25
 
PRACTICAS DE REDES: PRÁCTICA 24
PRACTICAS DE REDES: PRÁCTICA 24PRACTICAS DE REDES: PRÁCTICA 24
PRACTICAS DE REDES: PRÁCTICA 24
 
PRACTICAS DE REDES: PRÁCTICA 23
PRACTICAS DE REDES: PRÁCTICA 23PRACTICAS DE REDES: PRÁCTICA 23
PRACTICAS DE REDES: PRÁCTICA 23
 
REDES: TOMAS DE DATOS
REDES: TOMAS DE DATOSREDES: TOMAS DE DATOS
REDES: TOMAS DE DATOS
 
PRACTICAS DE REDES: PRÁCTICA 22
PRACTICAS DE REDES: PRÁCTICA 22PRACTICAS DE REDES: PRÁCTICA 22
PRACTICAS DE REDES: PRÁCTICA 22
 
PRACTICAS DE REDES: PRÁCTICA 21
PRACTICAS DE REDES: PRÁCTICA 21PRACTICAS DE REDES: PRÁCTICA 21
PRACTICAS DE REDES: PRÁCTICA 21
 
PRACTICAS DE REDES: PRÁCTICA 20
PRACTICAS DE REDES: PRÁCTICA 20PRACTICAS DE REDES: PRÁCTICA 20
PRACTICAS DE REDES: PRÁCTICA 20
 
PRACTICAS DE REDES: PRÁCTICA 19
PRACTICAS DE REDES: PRÁCTICA 19PRACTICAS DE REDES: PRÁCTICA 19
PRACTICAS DE REDES: PRÁCTICA 19
 

Último

BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 

Último (7)

BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 

Patrones y antipatrones de desarrollo en tres capas

  • 1.
  • 3.
  • 4. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRONES Y ANTIPATRONES
  • 5. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA EL PROGRAMA INFORMÁTICO
  • 6. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRONES DE DESARROLLO
  • 7. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA Establecen los componentes de la arquitectura, la funcionalidad y el comportamiento de cada uno. PATRONES DE DESARROLLO
  • 8. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA Una solución general a un problema general que puede adaptarse a un problema concreto. PATRONES DE DESARROLLO
  • 9. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRÓN CREACIONAL PATRÓN ESTRUCTURAL PATRÓN DE COMPORTAMIENTO PATRONES DE DESARROLLO
  • 10. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRÓN CREACIONAL PATRONES DE DESARROLLO
  • 11. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA Definen el modo en el que se construyen los objetos. PATRONES DE DESARROLLO: CREACIONAL
  • 12. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA FÁBRICA ABSTRACTA CONSTRUCTOR VIRTUAL PATRONES DE DESARROLLO: CREACIONAL INSTANCIA ÚNICA
  • 13. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRONES DE DESARROLLO: CREACIONAL Se utiliza cuando es necesario crear diferentes objetos pertenecientes a la misma familia. FABRICA ABSTRACTA
  • 14. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRONES DE DESARROLLO: CREACIONAL Se utiliza cuando es necesario crear diferentes objetos complejos a partir de un objeto concreto. CONSTRUCCIÓN VIRTUAL
  • 15. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRONES DE DESARROLLO: CREACIONAL Se utiliza cuando es necesario limitar a una la instancias de una clase. INSTANCIA ÚNICA
  • 16. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRÓN ESTRUCTURAL PATRONES DE DESARROLLO
  • 17. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA Establecen las relaciones y organización entre los diferentes componentes de nuestro software. PATRONES DE DESARROLLO: ESTRUCTURAL
  • 18. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA DECORADOR OBJETO COMPUESTO PATRONES DE DESARROLLO: ESTRUCTURAL FACHADA
  • 19. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRONES DE DESARROLLO: ESTRUCTURAL Cuando es necesario añadir de manera dinámica diferentes funcionalidades a un objeto. DECORADOR
  • 20. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRONES DE DESARROLLO: ESTRUCTURAL Cuando trata jerarquía de objetos como si de uno solo se tratase. OBJETO COMPUESTO
  • 21. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRONES DE DESARROLLO: ESTRUCTURAL Con un solo interfaz accedemos a varios interfaz del subsistema. FACHADA
  • 22. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRÓN DE COMPORTAMIENTO PATRONES DE DESARROLLO
  • 23. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA Describe la comunicación entre objetos y clases y establece directrices sobre como utilizarlos. PATRONES DE DESARROLLO: DE COMPORTAMIENTO
  • 24. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA ESTADO VISITOR PATRONES DE DESARROLLO: DE COMPORTAMIENTO ITERADOR
  • 25. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRONES DE DESARROLLO: DE COMPORTAMIENTO Permite definir un comportamiento diferente dependiendo del estado interno del objeto. ESTADO
  • 26. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRONES DE DESARROLLO: DE COMPORTAMIENTO Permite definir nuevas operaciones sobre una jerarquía de clases sin modificar las clases sobre las que opera. VISITOR
  • 27. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRONES DE DESARROLLO: DE COMPORTAMIENTO Establece un interfaz que permite acceder a un conjunto de objetos de una colección. ITERADOR
  • 28. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA ANTIPATRONES
  • 29. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA CÓDIGO ESPAGUETI FLUJO DE LAVA MARTILLO DORADO REINVENTAR LA RUEDA INFIERNO DE DEPENDENCIAS MANEJO DE EXCEPCIONES INÚTILES CADENAS MÁGICAS COPIAR & PEGAR
  • 30. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRONES DE DESARROLLO: ANTIPATRONES Patrón que utiliza constantes saltos, llamadas y bucles que enmaraña el flujo del programa. CÓDIGO ESPAGUETI
  • 31. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRONES DE DESARROLLO: ANTIPATRONES Uso de grandes cantidades de ´código desordenado, módulos y añadidos, que rompen la estructura natural del programa. FLUJO DE LAVA
  • 32. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRONES DE DESARROLLO: ANTIPATRONES Apego injustificado a un paradigma lenguaje, framework concreto para solucionar todos los problemas. MARTILLO DORADO
  • 33. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRONES DE DESARROLLO: ANTIPATRONES Implantar soluciones a problemas que ya existen en el entorno de desarrollo en el que trabajamos. REINVENTAR LA RUEDA
  • 34. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRONES DE DESARROLLO: ANTIPATRONES Depender de manera abusiva de las librerías y de componentes de un entorno de desarrollo. INFIERNO DE DEPENDENCIAS
  • 35. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRONES DE DESARROLLO: ANTIPATRONES Programar queriendo controlar aquellas excepciones que difícilmente se producirán en algún momento. MANEJO DE EXCEPCIONES INÚTILES
  • 36. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRONES DE DESARROLLO: ANTIPATRONES Utilización de cadenas de caracteres explícitas no asociadas al código. CADENAS MÁGICAS
  • 37. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA PATRONES DE DESARROLLO: ANTIPATRONES Abuso de duplicación de código en lugar de reutilización del existente. COPIAR & PEGAR
  • 38. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA DESARROLLO EN TRES CAPAS
  • 39. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA Surge de la necesidad de separar la lógica de la aplicación del diseño, de los datos y de la presentación al usuario. DESARROLLO EN CAPAS
  • 40. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA DESARROLLO EN CAPAS PRESENTACIÓN NEGOCIO DATOS COMUNICA CON EL USUARIO SE COMUNICA CON LA CAPA NEGOCIO ALBERGA LOS PROGRAMAS COMUNICA CON PRESENTACIÓN Y DATOS CAPA DE ACCESO A DATOS SE COMUNICA CON LA CAPA NEGOCIO
  • 41. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA MODELO VISTA CONTROLADOR MODELO VISTA VISTAMODELO DESARROLLO EN CAPAS: MODELOS
  • 42. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA DESARROLLO EN CAPAS: MODELOS VISTA CONTROLADOR MODELO RECIBE DATOS Y LOS MUESTRA AL USUARIO CORRESPONDE CON CAPA PRESENTACIÓN RECIBE LOS EVENTOS DE ENTRADA REALIZA PETICIONES A MODELO Y A VISTA CAPA DE ACCESO A DATOS DEFINE LA LÓGICA DEL NEGOCIO MODELO VISTA CONTROLADOR
  • 43. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA DESARROLLO EN CAPAS: MODELOS VISTA VISTAMODELO MODELO RECIBE DATOS Y LOS MUESTRA AL USUARIO CORRESPONDE CON CAPA PRESENTACIÓN RECIBE LOS EVENTOS DE ENTRADA CREA PRESENTACIÓN VIRTUAL DE DATOS CAPA DE ACCESO A DATOS DEFINE LA LÓGICA DEL NEGOCIO MODELO VISTA VISTAMODELO
  • 44. ENTORNOS DE DESARROLLO PATRONES Y ANTIPATRONES © J.D.CABRERA ENTORNOS DE DESARROLLO