Mind map
Patrón Prototype
Map content
Patrón Prototype
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.
- Forma de Aplicar
- 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.
- 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.
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.
- IPrototipo: interfaz o clase abstracta que define la operación de clonado.
- Cliente: clase que solicita al prototipo que se clone.
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.
- 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.
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.
- Created by
- Abner Gustavo Cuxum Larios
- Views
- 0
- Tags
- Rating