tecnología de programacióndcm/tdp/downloads/clases/2019-2do... · 2019-09-26 · departamento de...

Post on 16-Jul-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Tecnología de Programación

Martín L. Larrea

Departamento de Ciencias e Ingeniería de la ComputaciónUniversidad Nacional del Sur

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Patrones GoF

PROPÓSITO

Chain of Responsibility

Command Iterator MediatorMemento FlyweightObserver

State Strategy

Visitor

Adapter Bridge

Composite Decorator

FacadeProxy

Abstract Factory Builder

PrototypeSingleton

OBJETO

InterpreterTemplate Method

Adapter Factory MethodCLASE

SCOPE

COMPORTAMIENTOESTRUCTURALCREACIONAL

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Abstract Factory

Fábricas

Productos

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Visitor

Visitantes

Visitados

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Visitor

la casa dice: burns.visit(this)

casa.accept(burns)

le pedimos al visitado que acepte el visitante al aceptar, el visitado le pide al visitador que “pase” a esta casa

...ahora el visitante puede acceder a la

casa y hace su tarea

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Template Method

Sin especificar

se implementa en base a las

operaciones abstractas

se implementan las

operaciones pendientes

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Strategy

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

State

Abstracción del concepto de “estado”

Handle depende del estado

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Observer

Subject administra observadores

observa el Subject

concreto y actúa según sus objetivos

notifica a todos los observer (Update)

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Memento

“Fotografía” del estado del Originator

crea un Memento

(una “selfie”)

restaura su estado

según un Memento

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Iterator

IteradorEstructura a recorrer

Es la estructura la que crea

su iterador para ser recorrida

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Mediator

Mediador entre colegas

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Chain of Responsability

Realiza una

tarea puntualRealiza una tarea

puntualy ordena al sucesor a realizar su propia tarea

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Command

acciones encapsuladas

en un objeto

Invoca las acciones de los comandos

eventualmente la acción puede actuar sobre otros

objetos (“Receiver”)

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Flyweight

objetos administrados para compartir

= +

fábrica de objetos

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Interpreter

Similar a las Gramáticas

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Composite

un objeto simple

un objeto compuesto...

...por objetos simples o

compuestos

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Decorator

un objeto simple

un decorador de

objetos simples o

decoradores

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Adapter

interfaz que

queremos usar

interfaz que debemos usar

(es la que entiende Client)

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Bridge

abstracciones

paulatinasimplementaciones

paulatinas

éstas abstracciones... ... se implementan de

éstas formas posibles

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Facade

“ventanilla de atención”

deriva luego los pedidos a

quien corresponda

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Builder

Construyen partes

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Prototype

Objetos que saben

clonarse a si mismos

usa un prototipo para obtener varios

objetos iguales

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Singleton

el único objeto está

confinado aquí

Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Factory Method

operación que devuelve un

objeto Producto

...acá decidimos qué

producto creamos

top related