vedergewicht model, vedergewicht model voornamelijk gebruikt om het voorwerp en de vermindering van de hoeveelheid die in het geheugen, verbetering van de prestaties.Dit ontwerp is een structureel model, het voor de vermindering van het aantal voorwerpen en de verbetering van de toepassing van de structuur van de objecten in vedergewicht om het hergebruik van materialen van dezelfde soort opslag en bij de vorming van de nieuwe doel geen match gevonden voorwerpen.We zullen de positie van de verschillende door de opstelling van een cirkel van 20, waaruit blijkt dat de cijfers, maar we zullen alleen de oprichting van vijf objecten.Slechts vijf kleuren is beschikbaar, dus kleur eigendom wordt gebruikt om te controleren of de reeds bestaande, ronde, het doel, de verwezenlijking, creëren we een, de vorm, de interfaces en de specifieke categorie, ronde, uitvoering, de vorm, de interface.Een fabriek, shapefactory, gedefinieerd als de volgende stap, shapefactory.,, met een ronde, en ik, zijn gericht, de cirkel van kleur, object.Wanneer een verzoek om een specifieke kleur rond, het onderzoek, shapefactory, rond object, als doel ik,,, ring gevonden, terug naar dat doel van de andere nieuwe object wordt gemaakt, te bewaren voor later gebruik ik, en terug te keren naar de cliënt, we flyweightpatterndemo.,,, demonstratie in de klas. Shapefactory, zullen worden gebruikt, en, de toegang tot, de vorm, de objecten.Het zal door middel van informatie (rood - groene en blauwe /zwart /wit), shapefactory, is de gewenste kleur moet rond.,, stap 1, het creëren van een interface.,, in de vorm van Java, gemeenschappelijke interface vormen. () {nietig trekken;}, stap 2, het creëren van specifieke soorten om dezelfde interface, Java, cirkel, openbare uitvoering van particuliere vorm {groep van kleur; particuliere in X; de particuliere y; particuliere straal van de cirkel; (wat voor kleur) {this.color = kleur;} de leegte setx (in X) (x = X;} de leegte van seti (int Y) {y =. Y;} de leegte setRadius (int.) {this.radius = straal;} - systeem () {leegte trekken. Uit de leegte fac ("cirkel trekken. (:) [kleur:"+ + + + + + + "kleur, X, Y, de" X ":" + Y + "straal");}} + straal, stap 3, het creëren van een fabriek van bepaalde informatie die op basis van de specifieke categorieën van voorwerpen, shapefactory Java,.,. De invoer java.util.hashmap; De cursus shapefactory {particuliere statische laatste ik < akkoord, in de vorm van > circlemap = nieuwe hashmap (); de openbare vaste vorm getcircle (wat voor kleur) {cirkel = (ring) circlemap. (in kleur); als (cirkel = = nul) (cirkel = nieuwe ring (in kleur); circlemap. (kleur, ronde); het systeem leegte fac.. ("het creëren van ronde kleur:" + kleuren);}}}, terug naar de cirkel van stap 4, gebruik te maken van de fabriek; door middel van informatie zoals de kleur van de specifieke categorieën van voorwerpen, flyweightpatterndemo.java.In de particuliere flyweightpatterndemo (,, de kleur van de statische koorden [] = (het "rood", "groene", de "blauwe", de "witte", de "zwarte"); de openbare statische leegte belangrijkste (touw [...] dringt erop) {voor (int i = 0; ik < 20; + + I) {cirkel = (...) shapefactory. Getcircle (getrandomcolor ()); de ronde. Setx (getrandomx ()); ronde. Sethi (getrandomy ()); de ronde. SetRadius (100);}} particuliere kring trekken; statisch touw. () () {terug getrandomcolor kleur [(int) (wiskunde. * * * * * * *)]) van kleur. De lengte van de statische variabelen;} getrandomx () {terugkeer (int) (wiskunde. () × 100);} statische getrandomy () {terugkeer (int) (wiskunde. () × 100);}}, salaristrap 5, te controleren of de produktie, het creëren van een cirkel van kleur: Black Circle: Draw() [Color : Black, x : 36, y :71, radius :100 Creating circle of color : Green Circle: Draw() [Color : Green, x : 27, y :27, radius :100 Creating circle of color : White Circle: Draw() [Color : White, x : 64, y :10, radius :100 Creating circle of color : Red Circle: Draw() [Color : Red, x : 15, y :44, radius :100 Circle: Draw() [Color : Green, x : 19, y :10, radius :100 Circle: Draw() [Color : Green, x : 94, y :32, radius :100 Circle: Draw() [Color : White, x : 69, y :98, radius :100 Creating circle of color : Blue Circle: Draw() [Color : Blue, x : 13, y :4, radius :100 Circle: Draw() [Color : Green, x : 21, y :21, radius :100 Circle: Draw() [Color : Blue, x : 55, y :86, radius :100 Circle: Draw() [Color : White, x : 90En Y:70, straal: 100 ronden: b () [kleur: groen, X - 78, Y 3, binnen een straal van 100 ronden: b (:) [kleur: groen, X - 64, y - 89, straal: 100 ronden: b () [kleur blauw, X - 3, y - 91, binnen een straal van 100 ring:: b () [kleur blauw, X - y - 82, 62, binnen een straal van 100 ronden: b (:) [kleur: groen, X - 97, y - 61, straal: 100 ronden: b () [kleur: groen, x - 86, Y 12, straal: 100 ronden: trekken () [kleur: de groene, de X - 38, y - 93, straal: 100 ronden: b () [kleur: rood, X - 76, y - 82, de diameter van een cirkel trekken: 100: () [kleur blauw, X - y - 82, 95 en 100, straal van:
De ontwerp -
Previous:De ontwerp -