Service Discovery pattern para microservicios

Service Discovery y Service Registry

Una gran parte de las aplicaciones que se construyen hoy en día, requieren de un API para funcionar, dicha API ofrece todos los servicios necesarios para que la aplicación puede interactuar con el Backend y así afectar la información de la base de datos, sin embargo, de esa gran cantidad de aplicaciones que se conectan con APIs, requieren saber exactamente donde está alojado (IP y puerto) cada uno de los servicios que conforman el ecosistema de microservicios, es allí donde entra el Service Discovery pattern para solucionar ese tipo de dependencias. (más…)

Principios SOLID y patrones de diseño

Cuando empecé a estudiar diseño y arquitectura de software, uno de los primeros conceptos con que me encontré fue el de los principios de diseño SOLID.

Me parecieron unas ideas muy interesantes, pero no tan fáciles de aplicar.

Luego aparecieron los patrones de diseño, y todo empezó a tener sentido. Los patrones me dieron estrategias puntuales para resolver problemas específicos en mi código. Mi forma de programar cambió radicalmente luego de conocer los patrones de diseño.

(más…)

Patrón Factory Method – Introducción [Primera parte] [Video]

En este video te enseñare la teoría que hay detrás del patrón Factory Method, este patrón permite la creación de objetos de un subtipo determinado a través de una clase Factory. Esto es especialmente útil cuando no sabemos, en tiempo de diseño, el subtipo que vamos a utilizar o cuando queremos delegar la lógica de creación de los objetos a una clase Factory. Utilizando este patrón podemos crear instancias dinámicamente mediante la configuración, estableciendo cual será la implementación a utilizar en un archivo de texto, XML, properties o mediante cualquier otra estrategia. (más…)

Introducción a los patrones de diseño (Libro)

Tras dos años de arduo trabajo he concluido la publicación de mi libro “Introducción a los patrones de diseño”, en el cual explico la importancia de la utilización de los patrones en la Ing. de Software, abordando un total de 25 patrones.

Introducción a los patrones de diseño

Hoy en día aprender patrones de diseño no es una cualidad más, si no una obligación. Y es que estudiar y comprender los patrones de diseño nos convierte en un mejor programador/arquitecto y es clave para conseguir una mejor posición en el mundo laboral.

Este libro fue creado con la intención de enseñar a sus lectores cómo utilizar los patrones de diseño de una forma clara y simple desde un enfoque práctico y con escenarios del mundo real.

Tengo que aceptar que este no es un libro convencional de patrones de diseño debido, principalmente, por que (más…)

Patrón de diseño – Composite

El patrón de diseño Composite nos sirve para construir estructuras complejas partiendo de otras estructuras mucho más simples, dicho de otra manera, podemos crear estructuras compuestas las cuales están conformadas por otras estructuras más pequeñas.

Para comprender mejor como funciona este patrón imaginemos una casa de ladrillos, las casas como tal no están hecha de una pieza, si observamos las paredes estas esta echas de pequeñas piezas llamadas ladrillos, entonces, el conjunto de estos ladrillos crea paredes, y un conjunto de paredes crean una casa. este ejemplo puede ser aplicado al patrón Composite, y no digo que vallamos a crear una casa con este patrón, sino más bien nos da una idea de cómo trabaja para poder utilizarlo con otros ejemplos.

Patrón de diseño Composite
Fig. 1: Estructura del patrón de diseño Composite.

(más…)

Patrón de diseño – Proxy

UMLEn esta entrada les hablare del patrón de diseño Proxy, el cual es uno de mis favoritos ya que nos permite hacer una gran cantidad de cosas sin que el usuario final se de cuenta de lo que esta pasando. Podríamos definir a un Proxy como una clase o componentes que hace el papel de intermediario entre la clase que queremos utilizar el cliente que la esta utilizando. Cuando digo intermediario me refiero a que el Proxy nos permite hacer una o varias operaciones antes y después de realizar la tarea que realmente quiere el cliente, incluso el proxy puede tomar la decisión de nunca realizar la tarea solicitada por el usuario.

Patrón de diseño Proxy
Fig.1: Diagrama que muestra como esta conformado un Proxy, Un Proxy se crea a través de una interfaz la cual imita el comportamiento de esta, Sin embargo el trabajo realmente lo delega a otra clase que generalmente también implementan la interfaz del Proxy.

(más…)