Definición del patrón del constructor: separe la construcción de un objeto complejo de su representación, para que el mismo proceso de construcción pueda crear diferentes representaciones.
El patrón del constructor es crear un objeto complejo paso a paso, que permite a los usuarios construirlos simplemente especificando el tipo y el contenido de objetos complejos. Los usuarios no conocen los detalles específicos de la construcción interna. El modo de constructor es muy similar al modo de fábrica abstracta.
Por qué usar el modo Builder
Es desacoplar el proceso de construir objetos complejos a partir de sus componentes. Nota: Es el proceso de desacoplamiento y los componentes.
Debido a que un objeto complejo no solo tiene muchas cantidades grandes de componentes, como los automóviles, hay muchas partes: ruedas, volante, motor y varias piezas pequeñas, etc. Hay muchas partes, pero es mucho más que estas. Para ensamblar estas piezas en un automóvil para automóviles, este proceso de ensamblaje también es muy complicado (requiere una buena tecnología de ensamblaje), y el modelo de constructor es separar los componentes y el proceso de ensamblaje.
Cómo usar el modo Builder
Primero, supongamos que un objeto complejo está compuesto por múltiples componentes.
Primero, se necesita una interfaz que define cómo crear varios componentes de objetos complejos:
La copia del código es la siguiente:
Builder de interfaz pública {
// Crear componente A, por ejemplo, crear ruedas de automóvil
buildparta void ();
// Crear componente B, como crear un volante para automóvil
buildPartb () void;
// Crear componente C, como crear un motor de automóvil
void buildPartc ();
// Devuelve el resultado final del ensamblaje (regrese al último automóvil ensamblado)
// El proceso de ensamblaje del producto terminado no se lleva a cabo aquí, sino que se transfiere a la clase del director a continuación.
// Esto hará realidad el proceso de desacoplamiento y los componentes
Producto getResult ();
}
Use el director para construir el último objeto complejo, y la interfaz de constructor anterior encapsula cómo crear componentes (los objetos complejos están compuestos de estos componentes), es decir, cómo el contenido del director es cómo finalmente ensamblar los componentes en productos terminados:
La copia del código es la siguiente:
Director de clase pública {
Constructor de constructor privado;
Director Público (Builder Builder) {
this.Builder = Builder;
}
// Finalmente, Parta Partb PartC se usa para formar un objeto complejo
// Este es el proceso de ensamblar el volante y el motor de la rueda en un automóvil
Public void construct () {
Builder.BuildParta ();
Builder.BuildPartb ();
Builder.BuildPartc ();
}
}
La implementación específica de Builder ConcreteBuilder:
1. Construya o ensamble los componentes del producto completando el generador de interfaz;
2. Definir y aclarar qué cosas específicas quiere crear;
3. Proporcione una interfaz que pueda volver a obtener el producto.
La copia del código es la siguiente:
clase pública ConcreteBuilder implementa constructor {
Parte Parta, Partb, Partc;
public void buildParta () {
// Aquí está el código específico de cómo construir Parta
};
public void buildPartb () {
// Aquí está el código específico de cómo construir Partb
};
public void buildPartC () {
// Aquí está el código específico de cómo construir Partb
};
Producto público getResult () {
// volver al resultado final del ensamblaje
};
}
Objeto complejo: producto:
La copia del código es la siguiente:
Producto de interfaz pública {}
Componentes de objetos complejos:
La copia del código es la siguiente:
Parte de interfaz pública {}
Veamos cómo llamar al modo Builder:
La copia del código es la siguiente:
ConcreteBuilder Builder = new ConcreteBuilder ();
Director director = nuevo director (constructor);
director.construct ();
Producto producto = builder.getResult ();
Aplicación del modo de constructor
En el uso real de Java, a menudo usamos el concepto de "grupo".
"Pool" es en realidad una memoria. El uso de la memoria mejorará. Modifique la clase Director en modo Builder para diagnosticar qué componente está rota la "extremidad de ruptura" y luego repare este componente.