Você está na página 1de 11

PATRONES DE DISEÑO

EXPOSITORES:
DENNIS MARCELL SUMIRI FERNANDEZ
FABRICIO MARTIN BACA PORTUGAL
1. SINGLETON

• Este patrón garantizara que una clase solo tenga una instancia y proporciona un punto de acceso global
a esta instancia
• Se desea refernciar a un mismo elemento y queremos asegurarnos que no hay más de una instancia de
ese elemento.
1.1 CONSIDERACIONES

• Solo quiere una instancia de esa clase en la aplicación entera


• Puede acceder a esta instancia desde diferentes partes de la aplicación
• Querer que su información persista incluso si actualmente no hay referencias a ella.
• No puede inicializarse manualmente(no se puede asignar con el operador new)
1.2 APLICABILIDAD

• Cuando deba haber exactamente una instancia de una clase y ésta deba ser accesible a los clientes
desde un punto de acceso conocido.
• La única instancia debería ser extensible mediante herencia y los clientes deberían ser capaces de
utilizar una instancia extendida sin modificar el código.
1.3 ALGUNOS PROBLEMILLAS

• El principal problema es ¿Qué sucede cuando el cliente te pide que la configuración sea editable una
vez acabado el proyecto?
• Ponerlos como un punto de acceso global esta mal
2. FACADE
• Es un tipo de patrón de diseño estructural
• Surge por la necesidad de estructurar un entorno de programación y reducir su
complejidad, simplificar la comunicación entre una clase y otra clase compleja
2.1 CONSIDERACIONES

• Se aplicara cuando se necesite proporcionar una interfaz simple


para un subsistema complejo
• Reduce la complejidad y minimiza dependencias
2.2 APLICABILIDAD

• Nuestro sistema cliente tiene que acceder a parte de la funcionalidad de un sistema complejo.
• Hay tareas o configuraciones muy frecuentes y es conveniente simplificar el código de uso.
• Necesitamos hacer que una librería sea más legible.
• Nuestros sistemas clientes tienen que acceder a varias APIs(Application Programming Interfaces) y
queremos simplificar dicho acceso.
2.3 CONSECUENCIAS

• Negativas:
• Positivas:
• Creamos clases para funcionalidades ya
• Simplifica el uso de sistemas complejos existentes
• Oculta al cliente la complejidad real del • Por lo general solo se necesita un objeto
sistema Facade, por lo que a menudo son
• Reduce acoplamiento entre el subsistema singletons
y el cliente

Você também pode gostar