former for design bygmester mønster

, bygmester mønster bygger en kompleks objekt ved hjælp af simple objekter og ved hjælp af en trinvis fremgangsmåde.denne type af design - kommer under creational mønster, som dette mønster er en af de bedste måder at skabe en genstand, en konstruktør klasse bygger den endelige mål skridt for skridt.dette skaber er uafhængig af andre objekter., gennemførelse, vi har behandlet en sag af fastfood restaurant, hvor en typisk måltid kunne være en burger og en kold drink.burger, kan enten være en grøntsag burger eller kylling burgere og vil være fyldt med et stykke papir.kolde drikke kan enten være en cola eller pepsi og er pakket i en flaske, vil vi skabe et punkt, grænseflade, der repræsenterer fødevarer såsom burgere og kolde drikkevarer og konkrete klasser af post, grænseflader og en pakke, grænseflade, der repræsenterer emballering af fødevarer og konkrete klasser af emballagen interface som burger ville være pakket i papir - og sodavand ville være fyldt med flaske. vi så skabe en mel, klasse, arraylist, i, punkt, og en, mealbuilder, at skabe forskellige former for mel, genstande ved at kombinere, post., builderpatterndemo, vores demo - klasse, mealbuilder, til at bygge en mel,.,, trin 1, skabe en grænseflade mellem punkt, der repræsenterer fødevare - og emballeringsomkostninger,.,, post -, offentlig grænseflade konto {offentlige snor name(); offentlige emballage packing(); offentlige flyde price();}, pakker - offentlig grænseflade emballage {offentlige snor pack();}, trin 2, skabe konkrete klasser af emballerings - grænseflade, papir -, offentlige klasse indpakning gennemfører emballage {@ tilsidesætte offentlige snor pack() {tilbage "papir"}}, flaske -, offentlige klasse flaske gennemfører emballage {@ tilsidesætte offentlige - pack() {tilbage "flasker"), trin 3, skabe abstrakt klasse gennemførelse af punkt grænseflade med misligholdelse funktiontionalities.,, burger -, offentlige abstrakt klasse burger gennemfører punkt {@ tilsidesætte offentlige emballage packing() {tilbage nye wrapper();} @ tilsidesætte offentlige abstrakt flyde price();},, colddrink -, offentlige abstrakt klasse, colddrink gennemfører punkt {@ tilsidesætte offentlige emballage packing() {tilbage nye bottle();} @ tilsidesætte offentlige abstrakt flyde price();}, trin 4, skabe konkrete klasser af burger og colddrink klasser, vegburger -, offentlige klasse vegburger udvider burger {@ tilsidesætte offentlige flyde price() {tilbage 25.0f;} @ tilsidesætte offentlige snor name() {tilbage "grønt, burger"), chickenburger -, offentlige klasse chickenburger udvider burger {@ tilsidesætte offentlige flhavre price() {tilbage 50.5f;} @ tilsidesætte offentlige snor name() {tilbage "kyllingeburger"}}, koks -, offentlige klasse koks udvides colddrink {@ tilsidesætte offentlige flyde price() {tilbage 30.0f;} @ tilsidesætte offentlige snor name() {tilbage "light"}}, pepsi -, offentlige klasse pepsi udvider colddrink {@ tilsidesætte offentlige flyde price() {tilbage 35.0f;} @ tilsidesætte offentlige snor name() {tilbage "-"}}, løntrin 5, skabe et måltid klasse under punkt objekter som defineret ovenfor, mel -, import java.util.arraylist; import java.util.list; offentlige klasse måltid (private liste < post > poster = nye arraylist < punkt> (), offentlige eller additem (punkt på dagsordenen) (poster.tilføj (punkt)} offentlige flyde getcost() {flyde omkostninger = 0.0f; (punkt punkt: post) (cost + = post. price();} tilbage cost} offentlige tomrum showitems() {(punkt punkt: post) (system. tryk (- punkt: "+ punkt på dagsordenen. name()); system. tryk (" pakker "+ punkt på dagsordenen. packing(). pack()) system. println (", pris: "+ punkt på dagsordenen. price())}}}, trin 6, skabe en mealbuilder klasse, den faktiske bygmester klasse ansvarlig for at skabe måltid objekter.,, mealbuilder -, offentlige klasse mealbuilder {offentlige måltid preparevegmeal () (måltid mad = nye meal(); måltid. additem (nye vegburger()); måltid. additem (nye coke()); tilbage mel) offentligemåltid preparenonvegmeal () (måltid mad = nye meal(); måltid. additem (nye chickenburger()); måltid. additem (nye pepsi()); tilbage mel), trin 7, buiderpatterndemo anvendelser mealbuider at påvise bygmester mønster.,, builderpatterndemo -, offentlige klasse builderpatterndemo {offentlige statisk tomrum vigtigste (string args []) (mealbuilder mealbuilder = nye mealbuilder(); mel vegmeal = mealbuilder. preparevegmeal(); system. println ("grøntsager måltid"); vegmeal. showitems(); system. println (samlede omkostninger: "+ vegmeal. getcost()); mel nonvegmeal = mealbuilder. preparenonvegmeal(); system. println (" \\ n det nnon grøntsag måltid "); nonvegmeal. showitems(); system. println (samlede omkostninger:" + ikke -vegmeal. getcost())}}, trin 8, kontrollere produktionen., grøntsager måltid punkt: flade burger, emballering: papir, pris: 25, 0 punkt: koks, emballering: flaske, pris: 30, samlede omkostninger: ikke - flade måltid punkt: 55,0 kyllingeburger, emballering: papir, pris: 50,5 punkt: pepsi. emballage flaske, pris: 35: 85,5, samlede omkostninger:

Builder Pattern UML Diagram



Previous:
Next Page: