Transfer Proposito: | Independizar el intercambio de datos entre capas. Representan los elementos del modelo de dominio |
Factoria abstracta Proposito: | proporciona interfaz para crear familia de objetos relacionados o que dependen entre si, sin especificar clases concretas |
Factoria Abstracta motivacion | si queremos tener interfaz de usuario independiente de los objetos concretos que la componen. Si aplicacion crea instancias de clases de la interfaz de usuario seria difícil cambiarla mas tarde. |
cuando aplicamos factoria abstracta? | Lo aplicamos cuando:
- Sistema deba ser independiente de como se crean, componen y representan sus productos
- Sistema debe ser configurado con familia de productos de entre varias
- Familia de objetos producto relacionados esta diseñada para ser usada en cjto obligatoriamente, al ser requisito
- Quiere proporcionar biblioteca de clases de productos y solo quiere revelar sus interfaces sin sus implementaciones. |
Pros y Cons de factoria abstracta | Ventajas:
- Aisla clases concretas de clientes
- Facilita intercambio de familias de productos
- Promueve la consistencia entre productos
Inconvenientes:
- Dibifil dar cabida a nuevos tipos de productos pues habría que modificar la factoría |
Pros y cons de singleton | Ventajas:
- Acceso controlado a unica instancia
- Espacio de nombres reducido
- Permite refinamiento de operaciones y la representación
- Permite numero variable de instancias
- Mas flexible que operaciones static
Inconvenientes:
- Dista mucho de ser evidente |
Motivacion de singleton | No hay |
cuando aplicamos singleton? | No hay |
Proposito de observador | Proposito: define dependencia de uno a muchos objetos, de forma que cuando un objeto cambie de estado se notifique y se actualicen automáticamente todos los objetos que dependen de el. |
Motivacion de observador | Motivación: si se divide un sistema en una colección de clases cooperantes se deben mantener la consistencia entre estados relacionados. Esta consistencia no debe pagarse con un fuerte acoplamiento. |
cuando aplicamos observador? | Lo aplicamos cuando:
- Una abstracción tiene dos aspectos y uno depende del otro
- Cuando un cambio en un objeto requiere cambiar otros y no sabe cuantos objetos necesitan cambiarse
- Cuando un objeto debería ser capaz de notificar a otros sin hacer suposiciones sobre quienes son dichos objetos. |
Pros y cons de observador | Ventajas:
- Permite modificar objetos y observadores independientemente
- Acoplamiento abstracto entre sujeto y observador
- Capacidad de comunicación mediante difusión
Inconvenientes:
- Actualizaciones inesperadas
- Protocolo de actualización simple |