In diesem Artikel wird die Verwendung des Builder -Modus beschrieben, um die Funktion der Bewerbung für Mobiltelefonpakete zu implementieren. Teilen Sie es für Ihre Referenz wie folgt weiter:
1. Musterdefinition
Der Baumeister versteht es einfach, um Dinge zu bauen, aber das Builder -Modell ist keine einfache Sache, sondern eine relativ komplexe Sache.
2. Beispiele des Modells
1 Musteranalyse
Wir leihen uns ein Beispiel für einen Kunden aus, der zum Mobiltelefonpaket geht, um ein Mobiltelefonpaket zu beantragen, um dieses Modell nach der abstrakten Analyse zu veranschaulichen. Wir erhalten die folgenden Informationen über den Kunden Zhang SAN - den Geschäftshalteranbieter des Terminalbedarfs - den Ausbilder (den Ausbilder mit dem Bauhersteller benachrichtigt, welche Art von Mobiltelefonpaket zum Erstellen von Mobiltelefonpaket zu produzieren ist).
Computer - Builder (Erstellen Sie verschiedene Mobiltelefonpakete)
Handypaket - Produkt
2 Erbauermodus statische Modellierung
3 Code Beispiele
3.1 Erstellen eines Produkts - Mobiltelefonpaket
Paket com.demo.buider.model; öffentliche Klasse MobilePackage {// Telefon Bill Private Float Money; // SMS Private int Shortinfo; // Cailing Private String Music; public float getMoney () {return Money; } public void setMoney (Float Money) {this.money = Geld; } public int getShortInfo () {return ShortInfo; } public void setshortInfo (int ShortInfo) {this.shortinfo = ShortInfo; } public String getMusic () {return musik; } public void setMusic (String Music) {this.music = musik; }}3.2 Builder -Schnittstelle
Paket com.demo.buider.itf; import com.demo.buider.model.mobilepackage;/** * Mobile Paket Builder * * @Author * */public interface ImoBileBuilder {// Telefongebühr für das Erstellen mobiler Paketpakets öffentliches Void -BuildMoney (); // SMS zum Aufbau eines mobilen Pakets Public void BuildshortInfo (); // Cailing Public void BuildMusic (); // kehren Sie zum balancierten mobilen Paketobjekt öffentlich MobilePackage getMobilePackage ();} zurück;}3.3 Einen bestimmten Bauunternehmer einrichten
Spezifischer Erbauer 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 extends AbstractBasePackage implements IMobileBuilder{ // Phone fee for building mobile phone package public void BuildMoney () {this.mobilePackage.SetMoney (20.0f); } // Cailing public void Buildmusic () {this.mobilePackage.setmusic ("Angel"); } // SMS zum Erstellen mobiler Pakets public void BuildshortInfo () {this.mobilePackage.setshortinfo (400); } // Kehren Sie zum balancierten mobilen Paketobjekt Public MobilePackage GetMobilePackage () {return this.mobilePackage; }}Spezifischer Erbauer 2
Paket com.demo.buider.itf; import com.demo.buider.base.abstractbasepackage; com.demo.buider.model.mobilePackage;/** * Paket 2 * @Author Maofw * */öffentlicher MobileBuperImPl2 erweitert das AbstractBasepacePace -Paket imobeBase -Paket für das AbstractractBasepacePace -Implements imoBileBuperBuper2. BuildMoney () {this.mobilePackage.SetMoney (30.0f); } // Cailing public void Buildmusic () {this.mobilePackage.setmusic ("see"); } // SMS zum Erstellen mobiler Pakets public void BuildshortInfo () {this.mobilePackage.setshortinfo (600); } // Kehren Sie zum balancierten mobilen Paketobjekt Public MobilePackage GetMobilePackage () {return this.mobilePackage; }}3.4 Erstellen eines Mentors
Paket com.demo.buider.director; import com.demo.buider.itf.imobileBuilder; import com.demo.buider.model (MobileBuilder! // Textnachricht erstellen mobileBuilder.buildshortInfo (); // Cailing MobileBuilder.Buildmusic () bauen; // Zurück zum mobilen Paket kehren Sie MobileBuilder.getMobilePackage () zurück; } return null; }}
Lassen Sie Kunden Mobiltelefonpakete bestellen
Paket com.demo.buider; import com.demo.buider.director.mobiledirector; import com.demo.buider.itf.mobileBuilderImpl1; @param args */ public static void main (String [] args) {// Erstellen Sie einen Mentor Mobiledirector Mobiledirector = new Mobiledirector (); // Plan 1 MobileBuilderImpl1 MobileBuilderImpl1 = neuer MobileBuilderImpl1 (); // Plan 2 MobileBuilderImpl2 MobileBuilderImpl2 = New MobileBuilderImpl2 (); printMessage (Mobiledirector.CreateMobilePackage (MobileBuilderImpl1)); printmessage (Mobiledirector.CreateMobilePackage (MobileBuilderImpl2)); }/*** Ausdruckspaketinformationen*/public static void printMessage (MobilePackage MobilePackage) {System.out.println ("-Telcodierung:" + MobilePackage.getMoney () + "/t Sms:" + mobilePackage.getshortinfo () + "Twitter/t. cailing:" + mobilepackage.)). }}Auslaufergebnisse
-Tel: 20.0 SMS: 400 Cailing: Engel
-Tel: 30.0 SMS: 600 Cailing: Dahai
3.. Das Prinzip der Festlegung des Modells
1 Schritt, um komplexe Objekte zu erstellen
2. Konstruktion und Darstellung der Trennung
3 Prinzip der Einzelverantwortung
4. Verwenden Sie Anlässe
1 Wenn das Produktobjekt eine komplexe Struktur hat
2 Wenn komplexe Objekte von der Darstellung getrennt werden müssen, müssen sie möglicherweise unterschiedliche Darstellungen erstellen
3 Wenn es notwendig ist, die strukturelle Leistung der Produkte vor den Kunden zu verbergen
Für weitere Informationen zu Java -Algorithmen können Leser, die an dieser Website interessiert sind, die Themen "Java -Datenstruktur und Algorithmus -Tutorial", "Zusammenfassung der Java -Operation DOM -Knoten -Tipps", "Zusammenfassung der Java -Datei- und Verzeichnisoperationstipps" und "Zusammenfassung der Java -Cache -Operation Tipps" anzeigen
Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.