Name:
Introducción a los patrones de diseño
Brief Synopsis:
Introducción a los patrones de diseño es el libro más completo en Español, que aborda los patrones mediante ejemplos reales, que pueden ser aplicados en el mundo real.
Long Synopsis:

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 formaclara y simpledesde 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, a que no sigue la misma estructura de las primordiales obras relacionadas con este tema. En su lugar, me quise enfocar en ofrecer unaperspectiva del mundo real, en donde el lector pueda aprender a utilizar los patrones de diseño en entornos reales y que puedan ser aplicados a proyectos reales. Cuando empecé a estudiar sobre patrones de diseño, me di cuenta que siempre se explicaban en escenarios irracionales que poco o ninguna vez podrías utilizar, como por ejemplo para aprender a crear figuras geométricas, hacer una pizza o crear una serie de clases de animales que ladren o maúllen; esos eran los ejemplos que siempre encontraba, que si bien explicaban el concepto, se complicaba entender cómo llevarlos a escenarios reales. En este libro trato de ir un poco más allá de losejemplos típicospara crear cosasrealmente increíbles. Por ejemplo:

Portada:
cover art: red horse, city in background
Book Quality:
Publisher Quality
Book Size:
600 Pages
ISBN-10:
1539619214
Publisher:
Date of Addition:
10/10/2016
Copyright Date:
2016
Copyrighted By:
Oscar Javier Blancarte Iturralde
Adult content:
No
Language:
Español
Essential Images:
170
Described Images:
170
Categories:
Patrones de diseño
Grade Levels:
University
Submitted By:
Oscar Javier Blancarte Iturralde

Object Pool

Patrón creacional

Este es un patrón muy utilizado cuando se requiere trabajar con una gran cantidad de objetos, los cuales son computacionalmente caros de crear, este patrón tiene una gran ventaja en escenarios donde nuestro programa requiere dichos objetos por un tiempo muy corto y que luego de su uso son desechados. La ventaja que brinda este patrón es que nos permite reutilizar los objetos con el fin de evitar la tarea de crearlos cada vez que nuestra aplicación los requiere, manteniendo así un almacén de objetos creados previamente para ser utilizados.

Estructura del patrón de diseño Object Pool.

Los componentes que conforman el patrón son los siguientes:

  • IObjectPool: Interface que define la estructura mínima de un Object Pool, en ella definiremos los métodos get y releace, los cuales serán utilizados para obtener y devolver un objeto respectivamente.
  • AbstractObjectPool: Clase abstracta que definirá el comportamiento por default de un Object Pool, esta clase puede ser utilizada como base para crear ConcreteObjectPool de una forma muy rápida.
  • ConcreteObjectPool: Corresponde a una implementación completa del Object Pool, la cual está lista para ser utilizada.
  • IPoolableObject: Interface que deberá implementar todos los objetos que decimos administrar por el ObjectPool. En esta interface podemos definir la estructura mínima que deben de tener los objetos.
  • ConcretePoolableObject: Estos son los objetos reales que el ObjectPool administrará, deberán heredar de IPoolableObject.
  • IObjectFactory: Interface que definirá la estructura de la fábrica de objetos ConcretePoolableObject.
  • ConcreteObjectFactory: Fábrica concreta que implementa IObjectFactory para la creación de objetos ConcretePoolableObject.
Diagrama de secuencia del patrón de diseño Object Pool.
  1. El cliente solicita un objeto al ConcreteObjectPool .
  2. El ConcreteObjectPool valida si existen objetos disponibles, de no ser así solicitará la creación de un nuevo objeto al ConcreteObjectFactory.
  3. El ConcreteObjectFactory creará un nuevo objeto de tipo ConcretePoolableObject.
  4. El ConcreteObjectPool regresará el objeto al cliente.
  5. El cliente realiza cualquier acción con el objeto.
  6. El cliente regresa el objeto al ConcreteObjectPool.

Ejemplo del mundo real

Mediante la implementación del patrón de diseño Object Pool desarrollaremos una aplicación multi hilos que controlará muchos procesos de forma simultánea. Dichos procesos estarán controlados por un Object Pool que limitará el número de proceso que pueden ser ejecutados a la vez, con la finalidad de no agotar los recursos del servidor y procesar de forma simultanea el número adecuado de proceso que no afecten el rendimiento, dejando el resto de procesos en una cola de espera que serán procesados una vez que llegue su turno.

Descubre como el patrón Object Pool nos ayuda a resolver este problema.


¿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.

🎉 Este video es parte del curso de patrones de diseño, inscríbete aquí 🎉