Descripción del modo de constructor
1. Separe la construcción de un objeto complejo de su representación para que el mismo proceso de creación pueda tener diferentes representaciones. Esto se llama patrón de constructor.
2. Descripción en el lenguaje orientado a objetos, roles principales:
1>. La clase de interfaz del constructor define al constructor [trabajador], una forma de comportamiento unificada y operativa, que representa un objeto estructural complejo;
2>. ConcreteBuilder se usa para crear objetos de instancia de diversas formas de constructor para representar diferentes representaciones de constructor;
3>. Director Este Comandante se utiliza para guiar el proceso de ejecución y la forma de la instancia del constructor, que se utiliza para separarse del rendimiento de la instancia del constructor, y se utiliza para guiar la instancia del constructor para crear y generar resultados de productos en un cierto orden de reglas;
4>. Los resultados creados por ProvenObject generarán un objeto de resultado; Este es el resultado creado por el creador específico basado en la guía del director;
3. El modelo de constructor es en realidad un comandante, un constructor y un cliente que usa al comandante para llamar al constructor específico para trabajar y puede obtener resultados del constructor específico;
4. Modo de constructor, escenario simulado: [Ver un buen ejemplo que ilustra la descripción del modo de constructor]
Se dice que un miembro de la familia quiere construir una casa, pero el propietario de la casa u otras personas de la familia no sabe cómo construir una casa, por lo que tiene que contratar a algunos trabajadores. El equipo del edificio de la casa debe tener un capataz para construir una casa de acuerdo con las ideas del propietario. El capataz diseña y requiere que los trabajadores hagan lo que hacen de acuerdo con los requisitos del propietario;
El capataz dijo que el primer paso es construir todo el esqueleto de la casa, el segundo paso es construir el dormitorio, el tercer paso es decorar la cocina, el cuarto paso es construir la sala de estar y el quinto paso es ...
El capataz no hace nada, pero el constructor específico debe hacerlo de acuerdo con los requisitos del capataz. El primer y segundo paso se construyen hasta que se complete toda la casa;
El creador debe tener todas las habilidades para crear esta casa, a saber, construir esqueletos, decorar el dormitorio, etc., es decir, lo que hace el constructor o tiene habilidades, debe ser mayor o igual a lo que el comandante requiere hacer o tiene habilidades;
Es decir, el comandante es un organizador, y el constructor proporciona habilidades;
5. En un lenguaje débil como JavaScript, si no existe una interfaz, ignore la capa de definición de interfaz, cree directamente un constructor específico y luego cree una clase de orientación para llamar al constructor;
Código fuente de instancia
1. Constructor de trabajadores X:
La copia del código es la siguiente:
function workersBuilder () {
this.workone = function () {
// construir un esqueleto
}
this.worktwo = function () {
// construir un dormitorio
}
this.WorkTheRe = function () {
// construir una cocina
}
this.workfour = function () {
// construir una sala de estar
}
// ...
this.getResult = function () {
// construir una casa
var casa = nueva casa ();
//house.houseframe ...
casa de regreso;
}
}
WorkBuilder es un constructor específico, Workone, dos es qué hacer, construir esqueletos, etc.;
Por supuesto, el constructor de trabajo se puede construir varios más para indicar que los trabajadores realizan diferentes métodos para cada trabajo; Pero el contenido de trabajo es el mismo;
2. Categoría de comandante
La copia del código es la siguiente:
Función Director () {
this.construct = function (builder) {
Builder.WorkOne ();
Builder.WorkTwo ();
Builder.WorkThree ();
Builder.WorkFour ();
// ...
// El contenido anterior se puede configurar en secuencia, y los elementos de trabajo también se pueden establecer.
}
}
El método de orientación en la categoría Comandante incluye referencias de devolución de llamada al constructor, incluidos varios o todos los contenidos de trabajo del constructor; El comandante organiza y organiza lo que los trabajadores del constructor deben hacer;
3. Casa de productos
La copia del código es la siguiente:
function house () {
this.houseframe = '';
this.room = '';
this.kitchen = '';
this.livingroom = '';
// ...
}
4. Cómo usar
La copia del código es la siguiente:
var builder = new WorkBuilder ();
VAR Director = nuevo director ();
director.construct (constructor);
var casa = builder.getResult ();
El cuarto paso es que todo el uso es equivalente al cliente: el propietario de la casa. El propietario le pide al director para que construya la casa, pero el capataz no hace nada, por lo que dirige al trabajador del constructor que construya al niño, y finalmente el propietario obtiene la casa construida del trabajador;
Otras instrucciones
El modelo Builder es más adecuado para el cual el contenido [Resumen] es complejo, y las escenas reales son diferentes, como la situación en la que el contenido o el orden del trabajo es inconsistente; Por ejemplo, el proceso de vida diaria de cada persona, y escenas similares a los ejemplos anteriores; A través de la capa del instructor, es posible reducir el entorno en el que muchos lugares de trabajo similares, pero el orden de las reglas de trabajo es inconsistente; Puede reducir en gran medida la abstracción de la construcción de los objetos reales;