GoConqr has a new look! Let us know what you think.

Mind map

Patrón Prototype

Abner Gustavo Cuxum Larios Informática Spanish

Map content

Patrón Prototype

  1. Especificar el tipo de objetos que se crearán utilizando una instancia prototipada y crear nuevos objetos realizando copias de ese prototipo.

    • El concepto de este patrón es simple: en lugar de crear un objeto, se clona, es decir, se realiza una copia exacta de otro objeto dado, denominado prototipo.
      • El proceso de clonado comienza instanciando una clase de forma habitual. Una vez que disponemos de una instancia funcional, el resto de instancias se generarán creando copias de la primera.
        • Forma de Aplicar
          • Se define una interfaz que expondrá el método utilizado para realizar el clonado del objeto. Las clases que realicen el clonado utilizarán este método para esta operación.
  2. Tres Elementos

    • Cliente: clase que solicita al prototipo que se clone.
      • IPrototipo: interfaz o clase abstracta que define la operación de clonado.
        • PrototipoConcreto: implementa IPrototipo y su método Clone() para proceder al clonado del objeto.
  3. Implementación del Patrón

    • En .NET este proceso es sencillo, ya que nos ofrece la interfaz ICloneable que expone el método Clone(), método en el que habrá que codificar el proceso de copia.
      • Además de ofrecer el método Clone(), .NET también ofrece un método, MemberwiseClone(), que automáticamente realiza una copia del objeto por nosotros, evitándonos el proceso de copiar elemento por elemento de forma manual.
  4. Clonación superficial y clonación profunda

    • Cuando invocamos el método MemberwiseClone() observamos que en su descripción indicaba que se realizaba una clonación shallow o superficial. Esto significa que el clonado se realiza a nivel de bits, por lo que los objetos contenidos dentro del objeto a clonar no se clonarán también, sino que se clonará únicamente la referencia del objeto.

Information

Description
Informática Mind Map on Patrón Prototype, created by Abner Gustavo Cuxum Larios on 12/05/2018.
Views
0
Tags
patrón prototype
Rating

More on Patrones de diseño

Feedback

What is it about?

What do you think of the new look?

How do you like it?