🎃 Grandes descuentos en libros en línea, eformaciones y vídeos*. Código CALABAZA30. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Patrones de diseño en C#
  3. Introducción a los patrones de construcción
Extrait - Patrones de diseño en C# Los 23 modelos de diseño: descripción y soluciones ilustradas en UML 2 y C# [2ªedición]
Extractos del libro
Patrones de diseño en C# Los 23 modelos de diseño: descripción y soluciones ilustradas en UML 2 y C# [2ªedición] Volver a la página de compra del libro

Introducción a los patrones de construcción

Presentación

Los patrones de construcción tienen la vocación de abstraer los mecanismos de creación de objetos. Un sistema que utilice estos patrones se vuelve independiente de la forma en que se crean los objetos, en particular, de los mecanismos de instanciación de las clases concretas.

Estos patrones encapsulan el uso de clases concretas y favorecen así el uso de las interfaces en las relaciones entre objetos, aumentando las capacidades de abstracción en el diseño global del sistema.

De este modo el patrón Singleton permite construir una clase que posee una instancia como máximo. El mecanismo que gestiona el acceso a esta única instancia está encapsulado por completo en la clase, y es transparente a los clientes de la clase.

Problemas ligados a la creación de objetos

1. Problemática

En la mayoría de lenguajes orientados a objetos, la creación de objetos se realiza gracias al mecanismo de instanciación que consiste en crear un nuevo objeto mediante la llamada al operador new configurado para una clase (y eventualmente los argumentos del constructor de la clase cuyo objetivo es proporcionar a los atributos su valor inicial). Tal objeto es, por consiguiente, una instancia de esta clase.

Los lenguajes de programación más utilizados a día de hoy, como C++ o C#, utilizan el mecanismo del operador new.

En C#, una instrucción de creación de un objeto puede escribirse de la siguiente manera:

objeto = new Clase(); 

En ciertos casos es necesario configurar la creación de objetos. Tomemos el ejemplo de un método construyeDoc que crea los documentos. Puede construir documentos PDF, RTF o HTML. Generalmente el tipo de documento a crear se pasa como parámetro al método mediante una cadena de caracteres, y se obtiene el código siguiente:

public Documento construyeDoc(string tipoDoc) 
{ 
  Documento resultado; 
 
  if (tipoDoc.Equals("PDF")) 
    resultado = new DocumentoPDF(); 
  else if (tipoDoc.equals("RTF")) 
    resultado = new DocumentoRTF(); 
  else...