Le motif du constructeur est principalement utilisé pour "construire un objet complexe dans les étapes", où "étapes" est un algorithme stable, tandis que certaines parties d'objets complexes changent souvent. Par conséquent, le modèle du constructeur est principalement utilisé pour résoudre les modifications des besoins de la "partie de l'objet". Cela permet un contrôle plus détaillé du processus de construction des objets.
Package Com.shejimoshi.create.builder; / ** * Fonction: L'intention est de séparer la construction d'un objet complexe de sa représentation, afin que le même processus de construction puisse créer des représentations différentes * Applicabilité: * Lorsque l'algorithme pour créer des objets complexes devrait être indépendant des composants de l'objet et de la façon dont ils sont assemblés * / Public Résumé Personne de classebuilder {// L'outil requis pour faire un caractère de la STRICE ABSTRACT1; Tool de chaîne protégé2; Public PersonBuilder (String T1, String T2) {this.tool1 = t1; this.tool2 = t2; } // Drawing Head Public Abstract Void Buildhead (); // dessiner le corps public abstract void buildbody (); // dessiner le pied gauche et le pied droit abstrait abstrait vide buildArmleft (); Public Résumé Void BuildArmRight (); // dessine la main gauche et la main droite publique abstrait vide buildlegleft (); Public Résumé Void BuilleGright ();} Notre générateur abstrait tire les sous-classes correspondantes pour construire le type d'utilisation réel correspondant
Package com.shejimoshi.create.builder; / ** * Fonction: L'intention est de séparer la construction d'un objet complexe de sa représentation, afin que le même processus de construction puisse créer différentes représentations * Applicabilité: * Lorsque l'algorithme pour créer des objets complexes devrait être indépendant des composants de l'objet et de la façon dont ils sont assemblés * / public Class Personthinbuilder étend des personnalités personnelles. t1, chaîne t2) {super (t1, t2); } @Override public void buildhead () {System.out.println ("Dessiner un en-tête mince"); } @Override public void buildBody () {System.out.println ("Draw a Mink Body"); } @Override public void buildArmleft () {System.out.println ("Draw the mince bras gauche"); } @Override public void BuildArmRight () {System.out.println ("Draw the mince jambe gauche"); } @Override public void buildlegleft () {System.out.println ("Draw the mince jambe gauche"); } @Override public void BuilleGright () {System.out.println ("Draw the mince l'homme droit de l'homme"); }} Package Com.shejimoshi.create.builder; / ** * Fonction: L'intention est de séparer la construction d'un objet complexe de sa représentation, afin que le même processus de construction puisse créer différentes représentations * Applicabilité: * Lorsque l'algorithme pour créer des objets complexes devrait être indépendant des composants de l'objet et de la façon dont ils sont assemblés * / public PersonfatBuilder Extend extend Person t1, chaîne t2) {super (t1, t2); } @Override public void buildhead () {System.out.println ("Draw a Fat Man's Head"); } @Override public void buildBody () {System.out.println ("Draw a Fat Man's Body"); } @Override public void BuildArmleft () {System.out.println ("Draw A Fat Man's Left Bran"); } @Override public void BuildArmRight () {System.out.println ("Draw A Fat Man's Right Arm"); } @Override public void buildlegleft () {System.out.println ("Draw a Fat Man's Left de la jambe gauche"); } @Override public void BuilleGright () {System.out.println ("Drawing the Fat Man's Dright Jame"); }} Notre générateur est remis au commandant pour mettre en œuvre l'action créée
Package com.shejimoshi.create.builder; / ** * Fonction: Créez le commandant du personnage * / classe publique PersonDirector {Private Personbuilder PB; // passe le modèle de création de caractère correspondant Public Persondirector (PersonBuilder Pber) {this.pb = pber; } // Créer une personne publique void createSerson () {pb.buildhead (); pb.buildBody (); pb.buildArmleft (); pb.buildArmRight (); pb.buildlegleft (); pb.buildLegright (); }} Cas de test:
Package com.shejimoshi.create.builder; / ** * Fonction: Programme client * / Public Class Test {// Créer le caractère correspondant public static void Create (PersonBuilder PB) {// Créer l'objet correspondant avec le modèle passé par Paramètres PersonDirector Pd = New Persondirector (PB); PD.CreateSerson (); } public static void main (String [] args) {PersonThinBuilder ptb = new PersonThinBuilder ("Image Tool", "Brush"); créer (PTB); // créer un mince System.out.println("========================================================================== ======================================================================================================================. ======================================================================================================================. ======================================================================================================================. Create a thin System.out.out.println("=============================================================================== Create a thin System.out.out.out.out.out.out.out.out.out.out.out.out.out.out.out.out.out.out.out.out. Résultats en cours:
Dessinez la tête d'un homme mince, dessinez un corps mince, dessinez le corps d'un homme mince, dessinez le bras gauche d'un homme mince, dessinez le bras droit d'un homme mince, dessinez la jambe gauche d'un homme mince, dessinez la jambe droite d'un homme mince, ============================================================================================================. ============================================================================================================. Dessinez la tête d'un gros homme, dessinez le corps d'un gros homme, dessinez le bras gauche d'un gros homme, dessinez la jambe droite d'un gros homme
Ce qui précède est le modèle Java Builder, j'espère qu'il sera utile pour tout le monde d'apprendre la programmation Java.