La programación salvaje es como una enredadera si no tenemos
cuidado en muy poco tiempo se mete en todo nuestro proceso complicando cada día
más su mantenimiento.
También se puede decir que es como una hidra, que crece y se
convierte en un ser de muchas cabezas.
Como programadores no siempre es posible conocer la
funcionalidad de todos los módulos, lo mejor siempre es tener módulos
especializados y rehusarlos cuando esto sea necesario, pero existe un gran
problema en esto, las muchas cabezas que puede tener un módulo y que debemos
evitar, es aquí en donde nos ayuda el patrón de diseño del que hablaremos el día
de hoy, el patrón Facade, o Fachada, es un patrón estructural que nos ayuda a
dar visibilidad del código.
El patrón indica que se debe tener una sola clase de entrada
sin importar la complejidad del código que se encuentre en la aplicación.
El patrón ordena el código de tal forma que cuando se emplea
el modulo, pese a lo complejo de su interior, solo tendrá un punto por el que
toda la funcionalidad sea accedida.
Este es un patrón muy útil, y realmente muy fácil de
implementar que nos va a quitar muchos dolores de cabeza en el código.
Bueno siguiendo la lógica de que un programador busca menos teoría
y más código, pongamos un ejemplo del uso de este patrón.
Nuevamente tomando el ejemplo de un carro, yo tengo una
clase radio, la clase radio se muestra de la siguiente forma:
Como podemos ver el tablero de control en el que el usuario
del carro controla el radio es nuestra clase fachada, y esta clase dispara
procesos hacia adentro del radio, estos procesos cambian la estación, suben el
volumen, controlan la reproducción de MP3, sin saber qué es lo que ocurre más atrás.
Ahora veamos qué pasa si esta clase creada en el punto
anterior interactúa con un usuario, que en este caso es un programa que consume
el servicio que se encuentra implementado bajo este patrón de diseño.
Resultado, solo un espacio de nombres, el código está
estructurado y es más fácil de implementar.
Un paso más para evitar la programación salvaje, saludos