"Patrón prototipo" de patrones de diseño

¿Qué es el patrón prototipo?

El patrón Prototype es un patrón de diseño creacional que le permite usar objetos existentes para crear nuevos objetos sin tener que escribir código desde cero. En Java, el patrón prototipo puede implementar la interfaz Cloneable para copiar objetos. El patrón prototipo delega la responsabilidad de clonar objetos al objeto prototipo, evitando así reiniciar los objetos cada vez que se crean como un método de fábrica.

Por qué usar el patrón prototipo

El patrón de prototipo puede ayudarnos a evitar escribir código desde cero, ahorrando así tiempo y recursos. Mediante el uso de objetos existentes para crear nuevos objetos, el patrón de prototipo puede proporcionar un mejor rendimiento y un menor consumo de memoria. Además, el patrón Prototype puede proporcionarnos una forma más flexible de crear objetos, ya que puede crear instancias dinámicamente según sea necesario.

¿Dónde lo usas en el trabajo?

En el desarrollo de Android, el patrón prototipo se usa a menudo para crear nuevas instancias de Actividad o Fragmento. Por ejemplo, podemos crear una Actividad o Fragmento básico y definir algunas propiedades y métodos necesarios en él. Luego, podemos usar esta instancia base como prototipo para crear una nueva instancia copiando las propiedades y métodos de la instancia prototipo, ahorrando así la carga de trabajo de crear una nueva instancia.
Por ejemplo, supongamos que necesitamos crear varias instancias de Fragment con funciones y estilos de interfaz de usuario similares en la aplicación; podemos crear una instancia de Fragment básica y definirla como un prototipo. Luego, podemos usar el patrón prototipo para copiar esta instancia base y modificar algunas propiedades y métodos según sea necesario para crear una nueva instancia de Fragmento.

Ideas de diseño

La idea de diseño del patrón prototipo es crear un objeto prototipo y luego crear otros objetos clonándolo. El objeto prototipo implementa la interfaz Cloneable para que podamos usar su método clone() para crear nuevos objetos. En Java, el patrón prototipo generalmente se implementa utilizando el método clone() de la clase Object.

Implementación de código del patrón prototipo

Usaremos un ejemplo simple para demostrar la implementación del patrón prototipo. Crearemos una clase de usuario que contenga propiedades de identificación y nombre. Crearemos un objeto prototipo y luego lo usaremos para crear otros objetos de usuario. Aquí hay un ejemplo de código de una clase completa de Java:

public class User implements Cloneable {
    
    
  private int id;
  private String name;

  public User(int id, String name) {
    
    
    this.id = id;
    this.name = name;
  }

  public int getId() {
    
    
    return id;
  }

  public void setId(int id) {
    
    
    this.id = id;
  }

  public String getName() {
    
    
    return name;
  }

  public void setName(String name) {
    
    
    this.name = name;
  }

  @Override
  protected Object clone() throws CloneNotSupportedException {
    
    
    return super.clone();
  }
}

En el código anterior, implementamos la interfaz Cloneable y anulamos el método clone() para implementar el patrón prototipo. Ahora, usaremos este objeto prototipo para crear otros objetos:

public class PrototypeApp {
    
    
  public static void main(String[] args) throws CloneNotSupportedException {
    
    
    User prototype = new User(1, "John");

    User user1 = (User) prototype.clone();
    user1.setId(2);

    User user2 = (User) prototype.clone();
    user2.setId(3);

    System.out.println("Prototype User: " + prototype.getId() + " - " + prototype.getName());
    System.out.println("User 1: " + user1.getId() + " - " + user1.getName());
    System.out.println("User 2: " + user2.getId() + " - " + user2.getName());
  }
}

En el código anterior, creamos un objeto prototipo y lo usamos para crear el objeto Usuario. Usamos el método clone() para clonar el objeto prototipo y establecer la nueva propiedad id. Luego, imprimimos los atributos de identificación y nombre de cada objeto de usuario. La salida es la siguiente:

Prototype User: 1 - John
User 1: 2 - John
User 2: 3 - John

Resumir

El patrón de prototipo es un patrón de diseño creacional muy útil, puede ayudarnos a evitar escribir código desde cero, ahorrando así tiempo y recursos. Mediante el uso de objetos existentes para crear nuevos objetos, el patrón de prototipo puede proporcionar un mejor rendimiento y un menor consumo de memoria. Además, el patrón Prototype puede proporcionarnos una forma más flexible de crear objetos, ya que puede crear instancias dinámicamente según sea necesario. Por lo tanto, el patrón prototipo es una muy buena solución en los casos en que los objetos deben crearse repetidamente.

Supongo que te gusta

Origin blog.csdn.net/weixin_45112340/article/details/129663094
Recomendado
Clasificación