El modelo Builder está dirigido a la construcción de objetos complejos. Por ejemplo, un producto consta de múltiples partes, y cada parte se puede producir por separado. En este momento, el modelo Builder se puede utilizar para construir cada parte del producto por Builder, y luego el director completa el ensamblaje del producto final.
Características:
1. La división del trabajo es más clara, y la organización y la estructura están separadas, lo que puede controlar mejor la producción de productos.
2. Fácil de expandir. Cuando hay nuevas necesidades, solo implementa la excusa del constructor.
Aplicaciones en desarrollo de nivel empresarial y marcos de uso común: JMail
Composición: categoría de productos, constructor de resúmenes, constructor, director.
Categoría de productos:
Producto de clase pública {private String Parta; // Una parte del producto puede corresponder a una cadena privada de clase Partb en el desarrollo real; // Una parte del producto puede corresponder a una clase de cadena privada de clase en el desarrollo real; // Una parte del producto puede corresponder a una cadena privada de clase PARC en el desarrollo real; // Una parte del producto puede corresponder a una clase // constructor, establecer y obtener métodos}}Constructor abstracto:
// También puede ser un constructor de interfaz pública de clase abstracta {public void setparta (string para); public void setPARTB (String PARB); public void setPartc (String PartC);}Clase de implementación del constructor:
Public Class BuilderImpl implementa Builder {Producto privado Producto; public BuilderImpl () {Product = New Product (); } public void builderParta () {String Parta = new String (); // Simular una parte del método de fábrica para producir Product.SetParta (Parta); } public void builderPartb () {String Partb = new String (); // Simular una parte del método de fábrica para producir Product.SetPARTB (PARTB); } public void setPartC () {String PartC = new String (); // Simular una parte de la producción del producto en el método de fábrica Product.SetPartC (PARTC); } Public Product GetProduct () {return this.product; }}Categoría de Director:
Director de clase pública {Builder privado B; Director público (Builder NewB) {this.b = newB; } public void createBuilder (Builder b) {this.b = b; } Public Product ConstructProduct () {B.BuilderParta (); B.BuilderPartb (); B.BuilderPartc (); }}Clase de prueba:
Public Class Demo {public static void main (String [] args) {Builder b = new BuilderImpl (); Director d = nuevo director (); d.CreateBuilder (b); Producto P = C.ConstructProduct (); }}A partir del ejemplo anterior, no es difícil encontrar que si implementamos la clase Director, es completamente posible ensamblar otro producto diferente, porque la clase del Director controla el ensamblaje del producto. Del mismo modo, si volvemos a implementar la clase de construcción abstracta, también pueden aparecer productos completamente diferentes. Por lo tanto, podemos encontrar que el modelo de constructor es más abstracto y orientado a procesos.
En comparación con el modelo de fábrica abstracta, no es difícil descubrir que los dos son sorprendentemente similares, pero ¿por qué hay dos modelos de diseño diferentes? De hecho, el enfoque se centra en la complejidad y la abstracción del producto. El modelo de constructor es más abstracto y complejo que el modelo de fábrica abstracta. Es decir, los productos que tratan por el modelo de constructor son más complejos que los productos que se ocupan de la fábrica abstracta, y al mismo tiempo, el proceso de producción de productos es más largo y más abstracto.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.