former for design: kommando -

, design mønstre: kommando -,,,,, 76,,,,,,,, 20,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss. denne post er en del af en serie kaldet design mønstre i folkesundhedsprogrammet. design mønstre: simpel fabrik patterndesign mønstre: observatøren mønster efter for et par creational og strukturelle former for design, har vi indledt adfærdsmønstre.kan du se den første artikel i denne kategori af strategien mønster.med creational mønstre, vi lærte, hvordan vi skulle skabe vores ting, og fra strukturelle mønstre vi lærte, hvordan vi bør strukturere vores klasser og genstande, bidrage til at skabe en bedre anvendelse.,,, i denne artikel, vil vi gå gennem kommandoen design mønster.som navnet siger, i dette mønster vil vi beskæftige os med at udføre forskellige kommandoer.lad mig tage et par ord om dette mønster fra wikipedia:,,, - - er en typisk udformning mønster, hvor et objekt anvendes til at repræsentere og sammenfatte alle de oplysninger, der er nødvendige for at kalde en metode på et senere tidspunkt.disse oplysninger omfatter den metode, den genstand, der ejer den metode og de værdier for metoden parametre., dybest set en mønster er talrige elementer, der er som følger.i det næste afsnit vil vi undersøge hvert enkelt element med en kode, f.eks.jeg vil f.eks. radio handlinger meget grundlæggende tiltag ville være at vende radioen tændt eller slukket.så lad os dykke ned i hvert element.,,,.,, at dette element indeholder den faktiske gennemførelse (ved at foretage ønskede kommando) af ordrer.det har også tidligere udførte ordrer, men det er ikke en del af den faktiske ledelse mønster.vi vil se, at del i minde design mønster.,, //modtager - klasse radiocontrol {offentlige funktion turnon() (//vender på radio echo "vender på radio"} offentlig funktion turnoff() (//slukke radioen, echo "at slukke radioen"}}, kommando, denne del indeholder oplysninger om de nødvendige foranstaltninger, der skal træffes.det opfordrer de krævede metode, modtager,.,, //- grænseflade radiocommand {offentlige funktion execute();} klasse turnonradio gennemfører radiocommand (private $radiocontrol; offentlig funktion __construct (radiocontrol $radiocontrol) ($- > radiocontrol = $radiocontrol;} offentlig funktion execute() {$- > radiocontrol - > turnon (;) klasse turnoffradio gennemfører radiocommand (private $radiocontrol; offentlig funktion __construct (radiocontrol $radiocontrol) ($- > radiocontrol = $radiocontrol;} offentlig funktion execute() {$- > radiocontrol - > afkørsel (;), kunde,, at dette element virkelig opfører sig som en kunde (beslutte, hvad de skal gøre.dens opgave er at fastlægge, hvilke befaling, uden at vide, hvem der gør det, og hvordan det vil blive henrettet.i dette eksempel, jeg har taget kommandoen, som en hård kodet værdi, men det kan blive taget fra steder som en værdi fra en url og /eller efter variable samt.,, //klient $i = turnoffradio;,, du, dette element er hele processen.det tager argumenter fra kunden og påberåber sig den proces til den nødvendige kommando. //du hvis (class_exists ($) {$kommando = nye $i (new radiocontrol ()} andre {kaete nyt undtagelse ("... befaler ikke fundet...)} $kommando - og gt; gennemføre (), når vi gennemfører denne kommando vil vise at slukke radioen" som en produktion, fordi kunden har påberåbt sig denne kommando.yderligere kommandoer kan gennemføres på samme måde.hvis vores indsats var fastsat, turnoffradio,, så bør det show "med hensyn til radio".let nok, ikke?,, at det alle sammen, lad os afslutte alle elementer, for at se, hvordan det fungerer, //modtager - klasse radiocontrol {offentlige funktion turnon() (//vender på radio echo "vender på radio"} offentlig funktion turnoff() (//slukke radioen, echo "at slukke radioen"}} //- grænseflade radiocommand {offentlige funktion execute();} klasse turnonradio gennemfører radiocommand (private $radiocontrol; offentlig funktion __construct (radiocontrol $radiocontrol) ($- > radiocontrol = $radiocontrol;} offentlig funktion execute() {$- > radiocontrol - > turnon (;) klasse turnoffradio gennemfører radiocommand (private $radiocontrol; offentlig funktion __construct (radiocontrol $radiocontrol) ($- > radiocontrol = $radiocontrol;} offentlig funktion execute() {$- > radiocontrol - > afkørsel ()) //klient $i = turnoffradio; //du hvis (class_exists ($) {$kommando = nye $i (ny radiocontrol ()} andre {kaete nyt undtagelse ("... befaler ikke fundet...)} $kommando - > gennemføre (), at tilføje nye ordrer, før vi havde kun en frekvens til at spille på radioen, så vi kun havde to metoder, som er at gøre med eller uden radio.men forestil dem, at som tiden går, vi har flere frekvenser til at spille, tvinger os til at tilføje to nye metoder:  , tuneup,   og tunedown,.lad os se, hvordan vi kan tilføje de.,,, når vi bruger design mønstre, der giver os mulighed for at ændre eller udvide funktionalitet uden at foretage nogen ændringer i den kundekode.dette gælder også her.vi er nødt til at tilføje yderligere to kommandoer, men vores klient, - - og du vil forblive, som de er kode  .,, at tilføje nye ordrer, kræver ændringer i to steder.den første er at skabe nye ordrer, der gennemfører vores, radiocommand, grænseflade, og det næste er at definere den faktiske gennemførelse af disse ordrer i røret.,,, nye ordrer, klasse tuneupradio gennemfører radiocommand (private $radiocontrol; offentlig funktion __construct (radiocontrol $radiocontrol) ($- > radiocontrol = $radiocontrol;} offentlig funktion execute() {$- > radiocontrol - > tuneup (;) klasse tunedownradio gennemfører radiocommand (private $radiocontrol; offentlig funktion __construct (radiocontrol $radiocontrol) ($- > radiocontrol = $radiocontrol;} offentlig funktion execute() {$- > radiocontrol - > tunedown (;), ajourføres modtager kode, vil vi blive tilføjet to nyemetoder i vores modtager klasse.,, //modtager - klasse radiocontrol {offentlige funktion turnon() (//vender på radio echo "vender på radio"} offentlig funktion turnoff() (//slukke radioen, echo "at slukke radioen"} offentlig funktion tuneup() (//tuner radio echo "tuner radio".} offentlig funktion tunedown() (//tuning ned radio echo "tilpasning af radio"}}, konklusion, så bør vi gå med kommando design mønster, når vi har flere ordrer til at udføre, og det betyder ikke noget, hvis de kommandoer er forbundet med hinanden.jeg har gjort mit bedste for at uddybe dette design mønster, og du kan lægge din feedback i kommentarfeltet.,,



Previous:
Next Page: