Le modèle du constructeur vise la construction d'objets complexes. Par exemple, un produit se compose de plusieurs parties et chaque pièce peut être produite séparément. À l'heure actuelle, le modèle de constructeur peut être utilisé pour construire chaque partie du produit par Builder, puis le directeur termine l'assemblage du produit final.
Caractéristiques:
1. La division du travail est plus claire et l'organisation et la structure sont séparées, ce qui peut mieux contrôler la production de produits.
2. Facile à se développer. Lorsqu'il y a de nouveaux besoins, implémentez simplement l'excuse du constructeur.
Applications dans le développement au niveau de l'entreprise et les cadres couramment utilisés: JMAIL
Composition: catégorie de produits, constructeur abstrait, constructeur, directeur.
Catégorie de produit:
Product de classe publique {String Private Parta; // Une partie du produit peut correspondre à une classe Private String PartB en développement réel; // Une partie du produit peut correspondre à une classe de chaîne privée dans le développement réel; // Une partie du produit peut correspondre à une classe de chaîne privée dans le développement réel; // une partie du produit peut correspondre à une classe // constructeur, définir et obtenir des méthodes}Résumé Builder:
// Il peut également s'agir d'une classe abstraite Builder d'interface publique {public void setParta (String parta); public void setPartB (String partb); public void setPartc (String partc);}Classe d'implémentation du constructeur:
classe publique BuilDeImpll implémente le constructeur {Produit privé produit; public builDeImpl () {product = new Product (); } public void builderparta () {String parta = new String (); // simule une partie de la méthode d'usine pour produire product.setParta (parta); } public void builderPartB () {String partb = new String (); // simule une partie de la méthode d'usine pour produire product.setPartB (partb); } public void setPartc () {String partc = new String (); // simule une partie de la production de produit dans la méthode d'usine product.setPartc (partc); } public produit getProduct () {return this.product; }}Catégorie de directeur:
Directeur de classe publique {Private Builder B; Directeur public (Builder NewB) {this.b = newb; } public void createBuilder (Builder b) {this.b = b; } public Product ConstructionProduct () {B.BuilderParta (); B.BuilderPartB (); B.BuilderPartc (); }}Classe de test:
Demo de classe publique {public static void main (String [] args) {builder b = new BuilDeImpl (); Directeur D = nouveau directeur (); D.CreateBuilder (B); Produit p = c.ContructProduct (); }}D'après l'exemple ci-dessus, il n'est pas difficile de constater que si nous mettons en œuvre la classe de directeur, il est tout à fait possible d'assembler un autre produit différent, car la classe de directeur contrôle l'assemblage du produit. De même, si nous réimplémentons la classe de construction abstraite, des produits complètement différents peuvent également apparaître. Par conséquent, nous pouvons constater que le modèle du constructeur est plus abstrait et orienté vers le processus.
Par rapport au modèle d'usine abstrait, il n'est pas difficile de constater que les deux sont étonnamment similaires, mais pourquoi y a-t-il deux modèles de conception différents? En fait, l'accent est mis sur la complexité et l'abstraction du produit. Le modèle du constructeur est plus abstrait et complexe que le modèle d'usine abstrait. C'est-à-dire que les produits traitant par le modèle Builder sont plus complexes que les produits traitant par l'usine abstrait, et en même temps, le processus de production de produits est plus long et plus abstrait.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.