Patrón Observador

Este post analiza el patrón observador. En nuestras aplicaciones, es muy común cambiar el estado de nuestras clases. Cuando hablamos de estado, nos referimos a sus atributos internos, como por ejemplo, el correo de una persona, la dirección, etc. En algunas ocasiones, es necesario notificar estos cambios a otras clases o componentes dentro de nuestro…

Patrón Dispose

Antes de comenzar con el patrón dispose es necesario aclarar ciertos términos, ya que, los vamos a utilizar cuando nos referimos a Dispose. Estos términos son: recursos, recursos administrados, recursos no administrados y recolector de basura (garbage collector o GC) Recursos Un recurso, podría definirse como, cualquier componente, físico o virtual, que tiene una disponibilidad…

Patrón Fachada

Podríamos decir que el patrón fachada es uno de los más sencillos de implementar. Por ejemplo, si en la aplicación existe un proceso/botón/servicio que se encarga de hacer llamados a muchas y diferentes clases o servicios, fachada es el patrón a utilizar. Analicemos el siguiente ejemplo: Nuestra aplicación se encarga de procesar facturas. Una factura…

Patrón Adaptador

El patrón adaptador es muy útil cuando necesitamos incluir (adaptar) código adicional a una aplicación que ya está funcionando. Casi siempre, es algún código hecho por algún tercero que necesitamos procesar dentro de nuestra aplicación y retornar un resultado. A veces, es necesario utilizarlo para poder seguir accediendo a ciertas características que ya están siendo…

Patrón Comando

El patrón comando lo podemos utilizar cuando deseamos encapsular el llamado a ciertos métodos, es decir, cuando no deseamos exponer a los clientes la forma en que se realizan los procesos. Empecemos con un ejemplo que nos ayude a comprender un poco mejor la idea de este patrón, el ejemplo es tomado del libro Head…

Patrón Fábrica Abstracta

En esta ocasión vamos a analizar el Patrón Fábrica Abstracta. En el post anterior, logramos definir el estándar para crear instancias de Laptop en cada sucursal. Ese diseño nos garantiza flexibilidad y la posibilidad de agregar nuevas sucursales para crear las diferentes marcas (implementaciones) de Laptop. Sin embargo, el modelo anterior también nos impide controlar…

Patrón Método Fábrica

El patrón método fábrica utiliza el concepto del post anterior para definir varias fábricas de objetos. Estas “fábricas” podemos verlas como sucursales o tiendas en diferentes regiones. La idea con este patrón es tener mayor control sobre nuestras fábricas, ya que, si sólo utilizamos Fábrica Simple, podríamos caer de nuevo en una explosión de fábricas…

Patrón Fábrica Simple

El patrón fábrica simple es muy usado en la mayoría de frameworks de hoy en día, bueno, en realidad es Fábrica Abstracta, pero Fábrica Simple es el punto de partida. En el post anterior, estuvimos hablando de un principio de diseño al que llamamos “Abierto – Cerrado”, el cual, en resumen, nos dice que debemos…

Patrón Decorador

El patrón decorador es similar al Patrón Estrategia, ya que, vamos a preferir composición sobre herencia, cuando estamos diseñando nuestra aplicación. Empecemos con el ejemplo, tenemos una aplicación que se encarga de calcular el precio de una laptop. Existen 3 tipos de laptop: pequeña, mediana y grande, según la cantidad de pulgadas. Para cada tipo…

Patrón Singleton

Esta vez le toca al más pequeño de todos los patrones de diseño: Patrón Singleton. Sin embargo, no se dejen llevar por lo “fácil” que puede ser implementarlo, ya que tiene sus peculiaridades, sobretodo cuando implementamos multi-threading. Singleton se puede definir como único o sólo uno (single), es decir, lo utilizamos cuando ocupamos tener una…