former for design: facaden mønster

, design mønstre: facaden mønster,,,,, 278,,,,,,,, 26,,,,,,,,,, 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: adapteren mønster, når det drejer sig om at udforme mønstre, du kan have spørgsmål:,, hvorfor skal vi så bruge design mønstre i programmeringen.vores kode kan fint uden.,,, at mit mod spørgsmål er: "vil du hellere bo i et luksuriøst hjem, eller i en enkelt virksomhed med fire vægge?"når alt kommer til alt, både tjene vores formål. generelt ser vi et luksuriøst hjem, fordi den giver bedre faciliteter og kræver mindre vedligeholdelse og vedligeholdelse kan ske med mindre besvær, fordi det fundament, der allerede er der.  ,, det samme gælder for programmeringen: kode, der beskæftiger former for design er let at forstå, - for at opretholde, og let at udvide.  , i denne række tutorials, vi dækker forskellige former for design, som er til rådighed i programmeringen.du vil lære om deres fordele og ulemper, og faktorer, der viser, hvor vi skulle bruge dem.  , i disse tutorials, vil jeg tage høreværn som base sprog for at demonstrere design mønstre, men de er et begreb, der kan anvendes på alle programmeringssprog, det er bare et spørgsmål om at ændre syntaks, der din foretrukne sprog.,,, udforme regler opdeles i fire kategorier:,,, creational mønstre, strukturelle mønstre, adfærdsmønstre,, concurrency mønstre, i denne forelæsning, vi kommer til at dække   facade bestemt mønster.   det falder ind under den kategori af strukturelle mønstre, fordi den omhandler, hvordan din kode skal være struktureret for at gøre det let at forstå og holde det bevares på lang sigt.,,, facade design mønster, uml,,,,, problem, lad os gå ud fra, at du har et par operationer foretages i rækkefølge, og det samme er der behov for en indsats på flere steder i din ansøgning.du skal have den samme kode igen og igen i forskellige steder.  , du har gjort, men efter et par dage, du finder, at noget skal ændres i denne kode.  , kan du se det problem?vi er nødt til at indføre ændringer i alle steder, at kodeksen findes.det gør ondt, ikke?,,, opløsning, som en løsning på, hvad du skal gøre, er at skabe et føre registeransvarlige, som behandler alle de gentager, kode.de kalder synspunkt, vil vi bare kalde det føre registeransvarlige at gennemføre aktioner baseret på parametre, der er defineret.  ,, hvis vi er nødt til at indføre ændringer i processen, så vil vi bare nødt til at ændre den ledende tilsynsførende i stedet for at ændre på alle steder, hvor vi plejede at kode.,, f.eks. i denne forelæsning, lad os vælge en lærestreg, så det gør det lettere at læse.lad os sige, at du har fået til opgave at planlægge din venindes bryllup.hvis du gør det på din egen, så forestil dig de ting, du har brug for.det vil skabe en større mulighed for fejl og øge risikoen for noget, der kan drastisk påvirke din vens bryllup.,,, i dette tilfælde, i stedet for at gøre alt på egen hånd, bør de anvende bryllupsplanlægger og sørge for, det bliver gjort i en veldrevet måde med mindre risiko for fejl.,,, du opfører sig som en klient, der indleder processen og bryllupsarrangøren fungerer som en "falske" for dig at arbejde baseret på din retning.,,, kode, f.eks. i dette afsnit vil vi se et eksempel, som er almindeligt for websteder, med en kode, f.eks.vi vil se en   gennemførelse af facaden design - ved hjælp af et produkt skal proces.men før kontrol perfekt kode med facaden mønster, lad os se på en kode, som har et problem, en simpel kasse - processen omfatter følgende trin:,,, tilføje produkt til vogn. beregner shipping afgift.,, beregne rabat.,, skabe orden.,,,, ////////simpel kasse proces $productid = $_get ['productid '] $qtycheck = nye productqty(); hvis ($qtycheck - > checkqty ($productid) > 0) (//add produkt til vogn $addtocart = nye addtocart ($productid); //beregne shipping oplade $shipping = nye shippingcharge() og $shipping - > updatecharge(); //beregne rabat baseret på $rabat = nye discount(). $discount - > applydiscount(). $for = nye order(). $for - > generateorder();}, idenne kode, vil man finde, at kassen procedure omfatter forskellige genstande, der skal fremstilles med henblik på at afslutte den kasse.forestil dig, at du er nødt til at gennemføre denne proces i flere steder.hvis det er tilfældet, vil det være problematisk, når den kode, skal ændres.det er bedre, at disse ændringer i alle steder på en gang.  , løsning, vil vi skrive det samme med facaden mønster, som gør den samme kode mere pålidelige og kan forlænges.,, klasse productorderfacade {offentlige $productid = "; offentlig funktion __construct ($(pid) {$- > productid = $pid;} offentlig funktion generateorder() (hvis ($- > qtycheck()) (//add produkt til vogn $- > addtocart(); //beregne shipping oplade $- > calulateshipping(); //beregne rabat, hvis alle $- > applydiscount(); //sted og bekræfte dette - for $> placeorder();}} privat funktion addtocart () (/).tilføj produkt til vognen.* /} privat funktion qtycheck() {$mængde = få produktet mængde fra databasen, hvis ($mængde > 0) (tilbage.} andre {tilbage.}} privat funktion calulateshipping() {$shipping = nye shippingcharge(). $shipping - > calculatecharge();} privat funktion applydiscount() {$rabat = nye discount(). $discount - > applydiscount();} privat funktion placeorder() {$for = nye order(). $for - > generateorder();), som nu har vi vores produkt for facade klar.alt vi skal gøre, er at bruge den med et par kommunikationskanaler kode, i stedet for en flok kode som anført i det foregående led.  , bedes de kontrollere mængden af kode nedenfor, som du er nødt til at investere for at have en kasse proces i flere positioner,.,, //bemærkning: vi bør brug ikke direkte får værdier for database, for at forhindre sql injektion $productid = $_get ['productid ']; //2 linier i alle steder, i stedet for en langvarig proces overalt $for = nye productorderfacade ($productid); $for - > generateorder();, forestil dig, når du har brug for at foretage ændringer i din kasse proces.nu er du bare skabe ændringer i facaden klasse, som vi har skabt, i stedet for at indføre ændringer i hvert af de steder, hvor den er blevet anvendt.,,, indgåelse, enkelt, kan vi sige, at facaden mønster bør gennemføres i en situation, hvor man har brug for en fælles grænseflade til at gennemføre flere procedurer, som i eksempel på bryllupsplanlæggeren, der fungerer som en facade for at gennemføre flere procedurer.,,, læg venligst bemærkninger eller spørgsmål i foder, nedenfor.




Previous:
Next Page: