Tormenta de patrones, Facade
Según una definición muy simple el facade, sirve para proveer de una interfaz unificada sencilla que haga de intermediaria entre un cliente y una interfaz o grupo de interfaces más complejas.
Para nuestro entendimiento he decidido modelar una situación exponiendo este patrón y que se pueda apreciar alguna funcionalidad sobre el mismo.Como herramienta de modelado voy a utilizar EA (Enterprise Architect) y esta herramienta trae plantillas de patrones, justamente el facade figura en estas plantillas y un buen comienzo es verificar lo que se propone desde el punto estructural.
(Asistente para la generación del patrón)
(Patrón generado)
Como prestaciones este patrón tiene:
- Simplificar el uso y comprensión de una librería software.
- Encapsular una interfaz de librería poco amigable en un interfaz más coherenteo mejor estructurado.
- Centralizar las dependencias externas hacia la librería en uno o pocos puntos de entrada.
- Reducir la dependencia de código externo en los trabajos internos de una librería, ya que la mayoría del código lo usa Facade, permitiendo así más flexibilidad en el desarrollo de sistemas.
Hasta este punto todo muy conceptual, pero el hecho es verlo en funcionamiento y para ello vamos a montar una solución de manejo de hipotecas simuladas para aplicar el concepto de facade.
En primer lugar les voy a mostrar el diagrama de clases básico sobre el que vamos a trabajar pero primero les enumero las entidades y el mapeo con el patrón:
Entidades:
- Banco
- Préstamo
- Crédito
- Cliente
- Hipoteca
Ahora el mapeo con el eje conceptual del facade:
Hipoteca (Facade)
Banco, préstamo y crédito (subsistemas)
Cliente(entidad)
Bien en este punto he generado con la herramienta el código base para armar el proyecto en visual studio y he agregado un formulario Windows para aplicar la solución.
Sobre el evento click del botón evaluar coloqué el siguiente segmento de código.
En sus lugares, declaro la hipoteca (facade) luego hago la declaración del cliente mi entidad posteriormente llamo a un método de la hipoteca para verificar si es posible efectuar la operación, este método hace uso de los servicios para entregar la información consistente.
Esta información como muestra el ejemplo es mediante un mensaje emergente.
Veamos un diagrama de secuencia de todo el proceso para finalizar.
Este tipo de patrones es muy utilizado en el diseño de aplicaciones porque aporta organización y consistencia a las operaciones desarrolladas, al final les dejo un video explicativo del proyecto realizado en C#.
Hasta el próximo articulo…que lo disfruten.
HOLA ME SIRVIO BASTANTE TU EXPLICACION DE FACADE, LASTIMA QUE NO PUDE VER EL VIDEO.. PERO EN FIN.... SE ENTIENDE....
ResponderBorrarMuchas gracias. Muy claro... Seguire sus publicaciones.
ResponderBorrarhasta ponto...