Cet article décrit l'utilisation du mode Builder pour implémenter la fonction de postulation de packages de téléphonie mobile. Partagez-le pour votre référence, comme suit:
1. Définition du modèle
Le constructeur le comprend simplement pour construire des choses, mais le modèle du constructeur n'est pas une chose simple, mais une chose relativement complexe.
2. Exemples du modèle
1 analyse de modèle
Nous empruntons un exemple de client allant dans le package de téléphonie mobile pour demander un package de téléphone mobile pour illustrer ce modèle après une analyse abstraite, nous obtenons les informations suivantes sur le client Zhang San - l'opérateur de la salle d'activité du terminal - l'instructeur (en informant le constructeur quel type de package de téléphonie mobile à produire)
Ordinateur - Builder (créez divers packages de téléphones mobiles)
Package de téléphonie mobile - Produit
2 Modélisation statique en mode générateur
3 exemples de code
3.1 Créer un produit - Package de téléphonie mobile
Package com.demo.buider.model; public classe MobilePackage {// Bill de téléphone Private Float Money; // SMS privé int shorwinfo; // Cailing Private String Music; public float getmoney () {return money; } public void setmoney (float money) {this.money = argent; } public int getShortinfo () {return shorkInfo; } public void SetShorInfo (int shorwinfo) {this.shortinfo = shorkInfo; } public String getMusic () {return music; } public void setMusic (String Music) {this.music = music; }}3.2 Interface Builder
package com.demo.buider.itf; import com.demo.buider.model.mobilepackage; / ** * Builder de package mobile * * @Author * * / interface publique iMobileBuilder {// Frais de téléphone pour la construction de packages mobiles Public Void buildMoney (); // SMS pour la construction de packages mobiles publics VOID BuildShortinfo (); // cailling public void buildMusic (); // Retour à l'objet de package mobile construit public MobilePackage getMobilePackage ();}3.3 Établir un constructeur spécifique
Builder spécifique 1
Package com.demo.buider.itf; import com.demo.buider.base.abstractBasepackage; import com.demo.buider.model.mobilepackage; / ** * package 1 * * @Author maofw * * / public class mobilebuilderimpl1 void buildMoney () {this.mobilepackage.setMoney (20.0f); } // cailling public void buildMusic () {this.mobilepackage.setMusic ("Angel"); } // sms pour la construction de packages mobiles publics void buildShortinfo () {this.mobilepackage.setShortinfo (400); } // retourne à l'objet mobile construit objet public MobilePackage getMobilePackage () {return this.mobilePackage; }}Builder spécifique 2
Package com.demo.buider.itf; import com.demo.buider.base.abstractbasepackage; import com.demo.buider.model.mobilepackage; / ** * package 2 * * @Author maofw * * / public class mobilebuilderimpl2 void buildMoney () {this.mobilepackage.setMoney (30.0f); } // cailling public void buildMusic () {this.mobilepackage.setMusic ("Sea"); } // sms pour la construction du package mobile public void buildShortinfo () {this.mobilepackage.setShortinfo (600); } // retourne à l'objet mobile construit objet public MobilePackage getMobilePackage () {return this.mobilePackage; }}3.4 Création d'un mentor
Package com.demo.buider.director; import com.demo.buider.itf.imobilebuilder; import com.demo.buider.model.mobilepackage; / ** * Instructeur de package mobile * * @Author Maofw * * / Classe publique MobileDider {Public MobilePackage CreateMobilePackage (mobileBuilder! = null) {// construire le billet de téléphone mobilebuilder.buildMoney (); // Créer un message texte mobilebuilder.buildShortinfo (); // construire Cailing MobileBuilder.BuildMusic (); // Retour au package mobile Retour MobileBuilder.getMobilePackage (); } return null; }}Permettez aux clients de commander des packages de téléphonie mobile
Package com.demo.buider; import com.demo.buider.director.mobiledirect @param args * / public static void main (String [] args) {// créer un mentor mobiledirector mobileDrector = new mobiledirect (); // plan 1 mobilebuilDempl1 mobileBuilDeMllp1 = new MobileBuilDempll1 (); // Plane 2 mobileBuilDempl2 mobileBuilDeMpl2 = new MobileBuilDempll2 (); PrintMessage (mobileDirect. PrintMessage (mobileDirect. } / ** * Informations sur le package imprimé * / public static void printMessage (mobilepackage mobilepackage) {System.out.println ("- telcoding:" + mobilepackage.getMoney () + "/ t sms:" + mobilepackage.getShortinfo () + "Twitter / t cailling:" + mobilePackage.getMusic ()); }}Résultats en cours d'exécution
--Tel: 20.0 SMS: 400 Cailing: Angel
--Tel: 30.0 SMS: 600 Cailing: Dahai
3. Le principe de définition du modèle
1 étape pour créer des objets complexes
2. Construire et représenter la séparation
3 principe de responsabilité unique
4. Utiliser des occasions
1 Lorsque l'objet produit a une structure complexe à l'intérieur
2 Lorsque des objets complexes doivent être séparés de la représentation, ils peuvent avoir besoin de créer différentes représentations
3 Lorsqu'il est nécessaire de masquer les performances structurelles des produits des clients
Pour plus d'informations sur les algorithmes Java, les lecteurs qui sont intéressés par ce site peuvent afficher les sujets: "Structure de données Java et tutoriel d'algorithme", "Résumé des conseils de nœud de Dom Operation Java", "Résumé du fichier Java et des conseils d'opération de répertoire" et "Résumé des conseils d'opération Java Cache"
J'espère que cet article sera utile à la programmation Java de tous.