Todo lo que acabas de ver en este artículo es solo una pequeña parte del libro Introducción a los patrones de diseño, el libro más completo de patrones de diseño en español, abarcamos 25 patrones de diseño junto con 25 proyectos del mundo real. Olvídate de aprender patrones de diseño con los ejemplos típicos de Internet de cómo hacer una pizza, animales y figuras geométricas. te invito a que veas mi libro:
Ver libroProxy
Patrón de diseño estructuralEste es un patrón de diseño que centra su atención en la mediación entre un objeto y otro. Se dice mediación porque este patrón nos permite realizar ciertas acciones antes y después de realizar la acción deseada por el usuario. El Proxy se caracteriza por que el cliente ignora totalmente que una mediación se está llevando acabo debido a que el cliente recibe un objeto idéntico en estructura al esperado, y no es consciente de la implementación tras la interface ejecutada, de esta manera el cliente interactúa con el Proxy sin saberlo.
Los componentes que conforman el patrón son los siguientes:
- IObject: Representa la interface común entre el Objet y el Proxy.
- Object: Representa el objeto al que el cliente quiere ejecutar.
- Proxy: Clase que implementa IObject y delega la responsabilidad al Object, sin embargo, puede realizar una acción antes y después de llamar al Object.
- El cliente solicita al Factory un Objeto.
- El Factory crea un Proxy que encapsule al Object.
- El cliente ejecuta el Proxy creado por el Factory.
- El Proxy realiza una o varias acciones previas a la ejecución del Object.
- El Proxy delega la ejecución al Object.
- El Proxy realiza una o varias acciones después de la ejecución del Object.
- El Proxy regresa un resultado.
Ejemplo del mundo real
Mediante la implementación del patrón de diseño Proxy crearemos un mecanismo de seguridad, el cual intercepte las ejecuciones de procesos para validar si el usuario que intenta ejecutar cuenta con los privilegios necesarios, evitando que usuarios no autorizados los ejecuten, además, una vez que el proceso es ejecutado, se auditara la ejecución y quedará un registra de la ejecución. Todo esto se realizará sin que el usuario se dé cuenta, pues el proxy envolverá la lógica de seguridad.
¿Sabes la importancia de los patrones de diseño?
Los patrones de diseño son la clave para crecer profesionalmente hacia la arquitectura de software, sin mencionar que los salarios son los más altos de la industria de IT, descúbrelo en este video.