Estilos de Control
Rebecca Wirfs-Brock
Alan McKean
Controladores o Coordinadores

Afecta la forma en que la inteligencia es
distribuida entre los objetos que tienen
la responsabilidad de controlar las
acciones de otros
Tipos de Control
Centralizado
 Delegado

Tipo de Control
DECISON
COMPLEJA
DECISION
SIMPLE
Centralizado
Delegado
CENTRALIZADO

Para localizar el control de las decisiones
 El controlador delega pero responsabilidades
simples y aisladas
 Tener en cuenta:
– La lógica del control puede ser demasiado
compleja
– Los controladores pueden ser dependientes de
los que tienen la información
– Los objetos pueden ser acoplados indirectamente
por medio de las acciones del controlador.
– El único trabajo interesate es hecho por el
controlador
Delegado

Cada colaborador hace algo significativo
 Tener en cuenta:
– Coordinadores delegados tienden a conocer
menos objetos
– Dialogos a un mayor nivel, solicitan cosas que
hacer, más abstractas y más profundas
– Los cambios afectan menos objetos
– Es fácil dividir el trabajo en un grupo de
diseñadores
– Mucha distribución de trabajo puede llevar a
objetos y colaboraciones débiles
¿Cúal es la mejor?

La descentralizada normalmente se la
considera más orientada a objetos, y
por lo tanto en principio la mejor. Las
responsabilidades son repartidas.
Para localizar el cambio

Para manejar los cambios en la forma en que
la los pasos de la secuencia son realizados
se puede encapsular los pasos y por lo tanto
obtener una secuencia descentralizada.
 Si se quiere cambiar el orden en que se
realiza es mejor tener una estructura
centralizada, desde este punto de vista los
cambios van a ser locales a un objeto.
Para localizar el cambio

El control descentralizado es apropiado
cuando:
 Las operaciones tienen una fuerte conexión en la
realidad
 Las operaciones se van a ejecutar en el mismo
orden.

El control
cuando:
centralizado
es
apropiado
 Las operaciones pueden cambiar el orden
 nuevas operaciones pueden ser insertadas
Mediator Pattern

Motivación: La OO encara la distribución del
comportamiento entre objetos. Esa estructura
puede tener muchas interconecciones entre
objetos, en el peor de los casos, todos los
objetos conocen a todos
 Intención: define un objeto que encapsula la
forma en que un conjunto de objetos
interactúa. Mediator fomenta un menor
acoplamiento al no referenciarse un objeto a
otro en forma directa y permite variar la
interacción en forma independiente.
Mediator Pattern - Aplicabilidad
Un grupo de objetos se comunica en
una forma bien definida pero compleja
 Reusar un objeto es dificil porque
referencia y se comunica con muchos
otros objetos
 Un comportamiento distribuido entre
varias clases debe ser customizable por
medio de mucha subclasificación

Mediator Pattern
Mediator
ConcreteMe
diator
Collegae
ConcreteColleague1
ConcreteColleague1
Mediator Pattern

Mediator: Define una interface para
comunicarse con otros colegas
 ConcreteMediator:
– implementa cooperativamente el comportamiento
coordinando los objetos colegas
– Conoce y mantiene a los colegas

Colegue classes
– Cada colega conoce su mediador
– Cada colega se comunica con su mediador cada
vez que se tendría que comunicar con su
comunicador
Mediator Pattern

Ejercicio: considerar la implementación de
una Dialog boxes en una interface de
usuario. Presenta una colección de widgets
como botones, menus, campos de entradas
de datos. Por ejemplo la selección de una
lista puede activar varios botones. Diferentes
dialogues box van a tener distinto
comportamiento. Se debe customizar cada
dialogue box para reflejar las dependencias
de cada box con los widgets.|
Descargar

ESTILOS DE CONTROL