Cidenet+Blog+Desarrollo limpio+Patrones Creacionales

Patrones Creacionales

Los patrones creacionales buscan ocultar la lógica tras la creación de objetos, centralizando, dicha creación, en un único lugar de la aplicación. Esto permite reusar código e incrementar la flexibilidad, decidiendo qué objetos necesitan ser creados para un caso de uso específico o qué objetos pueden ser reutilizados, en lugar de crear nuevas instancias. Además, todo esto se lleva a cabo en un único lugar de la aplicación.

Los patrones creacionales nos ayudan a atacar problemas tales como:

  • Crear una instancia de un objeto que se puede utilizar en diferentes partes de una aplicación y, sin importar donde se utilice, se espera que su estructura sea la misma. Al centralizar la creación de este objeto tan específico en un único lugar, símplemente no es necesario crear objetos iguales varias veces, simplemente, se retorna la misma instancia cada que sea requerida, ahorrando así recursos.
  • En casos donde se tienen objetos que pueden tener representaciones diferentes, pero todos cuentan con una misma estructura. La estructura se centraliza, pero se es libre de crear representaciones variadas de tal estructura. Por ejemplo, se pueden crear instancias tal que una de estas cuenta con todos los atributos y otra solo tiene algunos, sin embargo las dos instancias pertenecen a una misma clase. Existen patrones que permiten esta flexibilidad de una forma genérica, sin tener que crear un constructor por cada representación.
  • Delegar y centralizar la creación de una instancia de una clase, para que el cliente no tenga que decidir qué clase instanciar. Con esto se gana dinamismo, ya que se pueden crear, a futuro, más clases sin afectar las ya creadas, y para el cliente será transparente.

En los próximos boletines se profundizará en cada uno de los patrones creacionales, los cuales son: Factory method, Abstract factory, Builder, Singleton y Prototype.

Fuentes:

Contáctanos

Déjanos tus datos

    Medellín - Colombia

  • Calle 47D #72-29
  • (+57) 4 3222567
  • comunicaciones@cidenet.com.co

    Estados Unidos

  • 1200 Colorado Blvd, Denver Colorado 80220
  • (+1) 7723619239
  • jceballos@cidenet.net
WhatsApp