SlideShare una empresa de Scribd logo
C# 3.0 Design Patterns
Chapter 9
Juan Guillermo Gallego Rendon.
ID: 000151904.
Los patrones de comportamiento que se
ven en este capitulo apoyan la
comunicación entre objetos,
permitiéndoles mantener su
independencia y, en algunos casos, su
anonimato.
¿Qué es un patrón de comportamiento?
Los patrones de comportamiento son aquellos
que están relacionados con algoritmos y con
la asignación de responsabilidades a los
objetos.
Patrón iterador.
El patrón Iterador presenta la interfaz que
declara los métodos necesarios para acceder,
de forma secuencial, a los objetos de una
colección.
Como muestra esta ilustración, pueden haber muchas
razones para iterar a través de una estructura.
La forma en que se itera puede cambiar también. Por
ejemplo, para hacer el cálculo del tamaño de archivo,
necesitamos analizar todos los archivos internos y luego
regresar los archivos adjuntos al directorio.
Teniendo en cuenta que cada operación que se hace con el
patrón iterador es independiente una de la otra.
Tipos de patrones iteradores.
Iterator: se utiliza para recorrer el contenedor y acceder a los
objetos o elementos que albergue el contenedor.
ConcreteIterator: clase que implementa la interfaz propuesta
por el Iterator. Mantiene la posición actual del recorrido de la
estructura almacenándola en el Aggregate, de esta manera
sabara cual será el siguiente objeto a recorrer.
Aggregate: interfaz que se usa para la fabricación de Iterators.
ConcreteAggregate: implementa la estructura de datos y el
método de fabricación de Iterators. Crea un Iterator especifico
para su estructura.
Imagen extraída de: http://patronesdediseno.net16.net/comportamiento.html
Patrón mediador o Strategy.
Determina la forma de implementar
el intercambio de mensajes entre
diferentes objetos que realizan
diferentes tareas, pero que
comparten elementos comunes.
Tipos de patrones mediadores o Strategy.
Context: define una interfaz intermedia que facilita el
acceso a sus datos propios por parte de la estrategia
necesaria.
Strategy: es la interfaz común para todos los algoritmos
implementados en las diferentes estrategias. Sera lo que
use Context para invocar la estrategia concreta que
necesite.
ConcreteStrategy: clases donde se implementan los
algoritmos necesarios, usando para ello la interfaz
Strategy.
Imagen extraída de: http://patronesdediseno.net16.net/comportamiento.html
Patrón observador.
El patrón observador define una
interacción entre objetos, de manera
que cuando uno de ellos cambia su
estado, este se encarga de notificar ese
cambio a los demás.
Tipos de patrones observadores.
Subject: es el que conoce a sus observadores, proporcionando una
interfaz para que los objetos de tipo Observer se adhieran a esta.
Observer: define la interfaz para actualizar los objetos a los que
se le deben notificar los cambios en el objeto Subject.
ConcreteSubject: guarda el estado de interés para los objetos
ConcreteObserver y envía una notificación a sus observadores
cuando cambia su estado.
ConcreteObserver: mantiene una referencia a un objeto
ConcreteSubject, guardando el estado que debería permanecer
sincronizado con el objeto observado. Implementa la interfaz
Observer para mantener un estado consistente con el objeto
observado.
Imagen extraída de: http://patronesdediseno.net16.net/comportamiento.html

Más contenido relacionado

La actualidad más candente

Patrones comportamiento
Patrones comportamientoPatrones comportamiento
Patrones comportamiento
Juan Camilo
 
Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitos
Kleo Jorgee
 
Exposicion de patrón de diseño
Exposicion de patrón de diseñoExposicion de patrón de diseño
Exposicion de patrón de diseño
joseph929
 

La actualidad más candente (20)

Patron fachada...
Patron fachada...Patron fachada...
Patron fachada...
 
Como Documentar Casos De Uso
Como Documentar Casos De UsoComo Documentar Casos De Uso
Como Documentar Casos De Uso
 
Sem 8 Modelo De Analisis
Sem 8 Modelo De AnalisisSem 8 Modelo De Analisis
Sem 8 Modelo De Analisis
 
Patrones comportamiento
Patrones comportamientoPatrones comportamiento
Patrones comportamiento
 
Entrenamiento para leer y validar casos de uso
Entrenamiento para leer y validar casos de usoEntrenamiento para leer y validar casos de uso
Entrenamiento para leer y validar casos de uso
 
2 Curso de POO en java - modelamiento casos de uso
2 Curso de POO en java - modelamiento casos de uso2 Curso de POO en java - modelamiento casos de uso
2 Curso de POO en java - modelamiento casos de uso
 
Presentacion Patrones Creacionales
Presentacion Patrones CreacionalesPresentacion Patrones Creacionales
Presentacion Patrones Creacionales
 
Modelado del negocio
Modelado del negocioModelado del negocio
Modelado del negocio
 
Funciones y módulos en Python
Funciones y módulos en PythonFunciones y módulos en Python
Funciones y módulos en Python
 
Abstract Factory
Abstract FactoryAbstract Factory
Abstract Factory
 
UML: Diagrama de caso de uso
UML: Diagrama de caso de usoUML: Diagrama de caso de uso
UML: Diagrama de caso de uso
 
7.modelado de los requerimientos escenarios y clases
7.modelado de los requerimientos  escenarios y clases7.modelado de los requerimientos  escenarios y clases
7.modelado de los requerimientos escenarios y clases
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
Secme 23279
Secme 23279Secme 23279
Secme 23279
 
Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitos
 
Analisis y diseño de sistemas proceso unificado henriquez malla santiago alberto
Analisis y diseño de sistemas proceso unificado henriquez malla santiago albertoAnalisis y diseño de sistemas proceso unificado henriquez malla santiago alberto
Analisis y diseño de sistemas proceso unificado henriquez malla santiago alberto
 
Presentacion Patrones De Diseno GoF
Presentacion Patrones De Diseno GoFPresentacion Patrones De Diseno GoF
Presentacion Patrones De Diseno GoF
 
Caso de uso
Caso de usoCaso de uso
Caso de uso
 
Exposicion de patrón de diseño
Exposicion de patrón de diseñoExposicion de patrón de diseño
Exposicion de patrón de diseño
 
DIAGRAMAS DE CASO DE USO
DIAGRAMAS DE CASO DE USODIAGRAMAS DE CASO DE USO
DIAGRAMAS DE CASO DE USO
 

Destacado

Destacado (20)

Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
 
Implementing a testing strategy
Implementing a testing strategyImplementing a testing strategy
Implementing a testing strategy
 
Continuos Delivery
Continuos DeliveryContinuos Delivery
Continuos Delivery
 
Continuos Delivery Commit stage
Continuos Delivery Commit stageContinuos Delivery Commit stage
Continuos Delivery Commit stage
 
Chapter 8
Chapter 8Chapter 8
Chapter 8
 
Capitulo 7 moving features between objects
Capitulo 7  moving features between objectsCapitulo 7  moving features between objects
Capitulo 7 moving features between objects
 
Chapter 5 refactoring
Chapter 5 refactoringChapter 5 refactoring
Chapter 5 refactoring
 
Construir tests
Construir testsConstruir tests
Construir tests
 
Refactoring: Improving the design of existing code. Chapter 6.
Refactoring: Improving the design of existing code. Chapter 6.Refactoring: Improving the design of existing code. Chapter 6.
Refactoring: Improving the design of existing code. Chapter 6.
 
Capitulo 2
Capitulo 2Capitulo 2
Capitulo 2
 
Refactoring: improving the desing of existing code Cap 1
Refactoring: improving the desing of existing code Cap 1Refactoring: improving the desing of existing code Cap 1
Refactoring: improving the desing of existing code Cap 1
 
Chapter 9
Chapter 9Chapter 9
Chapter 9
 
Making method calls_simpler
Making method calls_simplerMaking method calls_simpler
Making method calls_simpler
 
Introduction to Big Data
Introduction to Big DataIntroduction to Big Data
Introduction to Big Data
 
ABNORMAL DELIVERY
ABNORMAL DELIVERYABNORMAL DELIVERY
ABNORMAL DELIVERY
 
Monera
MoneraMonera
Monera
 
Matriz 2 fase 1 antoine_mario_gc177
Matriz 2  fase 1 antoine_mario_gc177Matriz 2  fase 1 antoine_mario_gc177
Matriz 2 fase 1 antoine_mario_gc177
 
Problemas dinero 3º
Problemas dinero 3ºProblemas dinero 3º
Problemas dinero 3º
 
MERS-CoV.pptx
MERS-CoV.pptxMERS-CoV.pptx
MERS-CoV.pptx
 
Spamalot: The Quest for the Holy Grail of Email Marketing
Spamalot: The Quest for the Holy Grail of Email MarketingSpamalot: The Quest for the Holy Grail of Email Marketing
Spamalot: The Quest for the Holy Grail of Email Marketing
 

Similar a Design patterns

Patrones de diseño - Henry Vallejo
Patrones de diseño - Henry VallejoPatrones de diseño - Henry Vallejo
Patrones de diseño - Henry Vallejo
2008PA2Info3
 
Daniel espinosa garzon
Daniel espinosa garzonDaniel espinosa garzon
Daniel espinosa garzon
orus004
 
Conceptualizacion lenguajes de programacion
Conceptualizacion lenguajes de programacionConceptualizacion lenguajes de programacion
Conceptualizacion lenguajes de programacion
orus004
 
Fundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetosFundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetos
Eduardo Galindo
 
Patrones de diseño - Andrés Dorado
Patrones de diseño - Andrés DoradoPatrones de diseño - Andrés Dorado
Patrones de diseño - Andrés Dorado
2008PA2Info3
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02
luisortiz
 
Prototipo de interfaz usuario
Prototipo de interfaz usuarioPrototipo de interfaz usuario
Prototipo de interfaz usuario
elizabeth19921
 
Prototipo de interfaz usuario
Prototipo de interfaz usuarioPrototipo de interfaz usuario
Prototipo de interfaz usuario
elizabeth19921
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetos
guest160f88
 

Similar a Design patterns (20)

INFOGRAFIA.pdf
INFOGRAFIA.pdfINFOGRAFIA.pdf
INFOGRAFIA.pdf
 
Patrones de diseño - Henry Vallejo
Patrones de diseño - Henry VallejoPatrones de diseño - Henry Vallejo
Patrones de diseño - Henry Vallejo
 
Daniel espinosa garzon
Daniel espinosa garzonDaniel espinosa garzon
Daniel espinosa garzon
 
Conceptualizacion lenguajes de programacion
Conceptualizacion lenguajes de programacionConceptualizacion lenguajes de programacion
Conceptualizacion lenguajes de programacion
 
Patrones de diseño de GoF
Patrones de diseño de GoFPatrones de diseño de GoF
Patrones de diseño de GoF
 
Patron de diseño
Patron de diseñoPatron de diseño
Patron de diseño
 
Fundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetosFundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetos
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
Patrones
PatronesPatrones
Patrones
 
Patrones de diseño - Andrés Dorado
Patrones de diseño - Andrés DoradoPatrones de diseño - Andrés Dorado
Patrones de diseño - Andrés Dorado
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02
 
Prototipo de interfaz usuario
Prototipo de interfaz usuarioPrototipo de interfaz usuario
Prototipo de interfaz usuario
 
Prototipo de interfaz usuario
Prototipo de interfaz usuarioPrototipo de interfaz usuario
Prototipo de interfaz usuario
 
Diagrama de clases y diagrama de objetos
Diagrama de clases y diagrama de objetosDiagrama de clases y diagrama de objetos
Diagrama de clases y diagrama de objetos
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetos
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetos
 
Principios poo
Principios pooPrincipios poo
Principios poo
 

Último

tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptxtema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
DianaSG6
 

Último (20)

Análisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operacionesAnálisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operaciones
 
&PLC Ladder.pdf automatización industrial
&PLC Ladder.pdf automatización industrial&PLC Ladder.pdf automatización industrial
&PLC Ladder.pdf automatización industrial
 
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docxPLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
 
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptxtema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
 
DISEÑO DE LOSAS EN UNA DIRECCION (CONCRETO ARMADO II )
DISEÑO DE LOSAS EN UNA DIRECCION  (CONCRETO ARMADO II )DISEÑO DE LOSAS EN UNA DIRECCION  (CONCRETO ARMADO II )
DISEÑO DE LOSAS EN UNA DIRECCION (CONCRETO ARMADO II )
 
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
 
monografia sobre puentes 1234456785432o5
monografia sobre puentes 1234456785432o5monografia sobre puentes 1234456785432o5
monografia sobre puentes 1234456785432o5
 
Sistemas de posicionamiento global (G.P.S.).pdf
Sistemas de posicionamiento global (G.P.S.).pdfSistemas de posicionamiento global (G.P.S.).pdf
Sistemas de posicionamiento global (G.P.S.).pdf
 
4.Clase-DIAGRAMAS DE FLUJO DFD Programacion.pptx
4.Clase-DIAGRAMAS DE FLUJO DFD  Programacion.pptx4.Clase-DIAGRAMAS DE FLUJO DFD  Programacion.pptx
4.Clase-DIAGRAMAS DE FLUJO DFD Programacion.pptx
 
ANÁLISIS MASAS PATRIMONIALES y financieros
ANÁLISIS MASAS PATRIMONIALES y financierosANÁLISIS MASAS PATRIMONIALES y financieros
ANÁLISIS MASAS PATRIMONIALES y financieros
 
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
 
Procesos de Manufactura 1_Introducción a la ciencia de los materiales.pptx
Procesos de Manufactura 1_Introducción a la ciencia de los materiales.pptxProcesos de Manufactura 1_Introducción a la ciencia de los materiales.pptx
Procesos de Manufactura 1_Introducción a la ciencia de los materiales.pptx
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
 
PresentaciónReto_Equipo6 Explicacion del reto de freno electromagnetico
PresentaciónReto_Equipo6 Explicacion del reto de freno electromagneticoPresentaciónReto_Equipo6 Explicacion del reto de freno electromagnetico
PresentaciónReto_Equipo6 Explicacion del reto de freno electromagnetico
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
 
problemas consolidación Mecánica de suelos
problemas consolidación Mecánica de suelosproblemas consolidación Mecánica de suelos
problemas consolidación Mecánica de suelos
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
 
GUIA DE SEGURIDAD PARA MAQUINAS Y HERRAMIENTAS
GUIA DE SEGURIDAD PARA MAQUINAS Y HERRAMIENTASGUIA DE SEGURIDAD PARA MAQUINAS Y HERRAMIENTAS
GUIA DE SEGURIDAD PARA MAQUINAS Y HERRAMIENTAS
 
Bash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptxBash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptx
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
 

Design patterns

  • 1. C# 3.0 Design Patterns Chapter 9 Juan Guillermo Gallego Rendon. ID: 000151904.
  • 2.
  • 3. Los patrones de comportamiento que se ven en este capitulo apoyan la comunicación entre objetos, permitiéndoles mantener su independencia y, en algunos casos, su anonimato.
  • 4. ¿Qué es un patrón de comportamiento? Los patrones de comportamiento son aquellos que están relacionados con algoritmos y con la asignación de responsabilidades a los objetos.
  • 5. Patrón iterador. El patrón Iterador presenta la interfaz que declara los métodos necesarios para acceder, de forma secuencial, a los objetos de una colección.
  • 6.
  • 7. Como muestra esta ilustración, pueden haber muchas razones para iterar a través de una estructura. La forma en que se itera puede cambiar también. Por ejemplo, para hacer el cálculo del tamaño de archivo, necesitamos analizar todos los archivos internos y luego regresar los archivos adjuntos al directorio. Teniendo en cuenta que cada operación que se hace con el patrón iterador es independiente una de la otra.
  • 8. Tipos de patrones iteradores. Iterator: se utiliza para recorrer el contenedor y acceder a los objetos o elementos que albergue el contenedor. ConcreteIterator: clase que implementa la interfaz propuesta por el Iterator. Mantiene la posición actual del recorrido de la estructura almacenándola en el Aggregate, de esta manera sabara cual será el siguiente objeto a recorrer. Aggregate: interfaz que se usa para la fabricación de Iterators. ConcreteAggregate: implementa la estructura de datos y el método de fabricación de Iterators. Crea un Iterator especifico para su estructura.
  • 9. Imagen extraída de: http://patronesdediseno.net16.net/comportamiento.html
  • 10. Patrón mediador o Strategy. Determina la forma de implementar el intercambio de mensajes entre diferentes objetos que realizan diferentes tareas, pero que comparten elementos comunes.
  • 11. Tipos de patrones mediadores o Strategy. Context: define una interfaz intermedia que facilita el acceso a sus datos propios por parte de la estrategia necesaria. Strategy: es la interfaz común para todos los algoritmos implementados en las diferentes estrategias. Sera lo que use Context para invocar la estrategia concreta que necesite. ConcreteStrategy: clases donde se implementan los algoritmos necesarios, usando para ello la interfaz Strategy.
  • 12. Imagen extraída de: http://patronesdediseno.net16.net/comportamiento.html
  • 13. Patrón observador. El patrón observador define una interacción entre objetos, de manera que cuando uno de ellos cambia su estado, este se encarga de notificar ese cambio a los demás.
  • 14. Tipos de patrones observadores. Subject: es el que conoce a sus observadores, proporcionando una interfaz para que los objetos de tipo Observer se adhieran a esta. Observer: define la interfaz para actualizar los objetos a los que se le deben notificar los cambios en el objeto Subject. ConcreteSubject: guarda el estado de interés para los objetos ConcreteObserver y envía una notificación a sus observadores cuando cambia su estado. ConcreteObserver: mantiene una referencia a un objeto ConcreteSubject, guardando el estado que debería permanecer sincronizado con el objeto observado. Implementa la interfaz Observer para mantener un estado consistente con el objeto observado.
  • 15. Imagen extraída de: http://patronesdediseno.net16.net/comportamiento.html