In de in de ontwerp -

javascript begrijpen, begrijpen van het model in het javascript,,,,,,,,,, 48, aandelen, 383,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,, vandaag, moeten we de computer wetenschap hoed, we weten wat de gemeenschappelijke ontwerp - model.Het ontwerp voorziet in een model voor de ontwikkeling van het hergebruik en de methoden en technische problemen op te lossen.In een betere javascript ontwikkelaars interesse?En dan lezen.,,,, overgenomen, training, elke paar weken hebben we opnieuw een aantal van onze lezers favoriete uit de geschiedenis van het hele gebied.Deze handleiding is gepubliceerd in juli 2012 in.,, solide ontwerp - onderhoud van software zijn de fundamentele bouwstenen.Als je ooit naar een van de technische gesprekken, hou je ze vroeg.In deze handleiding, we zullen zien wat je kan beginnen met het gebruik van modellen.Het ontwerp is een herbruikbare software - oplossingen, simpel gezegd, is de ontwikkeling van software ontwerp - vaak als een van de problemen van bepaalde soorten herbruikbare software - oplossingen.In de praktijk van de afgelopen jaren de ontwikkeling van software, de deskundigen heeft de oplossing van soortgelijke problemen voor.Deze oplossing is verpakt in een ontwerp - model.Het patroon is de ontwikkeling van software voor een oplossing van het probleem, is de wijze kan worden uitgebreid, omdat ze meestal gestructureerd, met regels die je moet volgen, is opnieuw kan worden gebruikt voor soortgelijke problemen, zullen we een voorbeeld in de ontwerp -, verder in deze handleiding, de aard van de ontwerp -, in De ontwikkeling van software, ontwerp - modellen in het algemeen onderverdeeld in een aantal categorieën.We zullen in deze handleiding heeft betrekking op drie van de belangrijkste delen.Ze hieronder kort toelichten:,, innovatie, het patroon is gericht op het creëren van een voorwerp of klasse van de methode.Dat klinkt eenvoudig (in sommige gevallen is het in bepaalde gevallen), maar de grote aanvragen moeten het voorwerp van de controle van het proces voor het creëren van.,,, de structuur, de ontwerp - gecentraliseerde beheer maakt je aanvraag is in het kader van een uitbreiding van de middelen, tussen het voorwerp van de betrekkingen.Een belangrijk aspect van de structuur is ervoor te zorgen dat je een onderdeel van de toepassing van de wijzigingen niet van invloed zal zijn op alle andere delen.,,, - gedrag, gericht op het doel van de communicatie tussen.Bij het lezen van de korte beschrijving, je zal er nog steeds problemen.Dit is natuurlijk, als we naar een van de volgende ontwerp - model, op de zaak.Dus lezen.Met betrekking tot de klasse van de,, over de ontwerp - javascript, bij het lezen van, je zal altijd de verwijzingen naar de klasse en het doel.Dat is verwarrend, want javascript niet echt heeft een categorie "bouw; meer de correcte term is" aard van de gegevens, in de aard van de gegevens in de javascript javascript, is een gerichte taal, het voorwerp en het andere betreft de opvolging van het concept van prototypes van de erfenis.Een soort gegevens, kunnen door de definitie van een zogenaamde constructeurs die functie gecreëerd:, (-) {} = config.name; this.age = config.age;} person.prototype.getage = (() {terug this.age;}; var 'tilo' = nieuwe mensen ({naam: "draak", leeftijd: 23}); de console. Log ('tilo'. Getage ()); dat het, in de definitie van een prototype,, persoonlijke gegevens.Omdat veel mensen, naar hetzelfde doel, zal het prototype, dat toelaat, getage (), is, in alle gevallen voor het delen van gegevens vormen, in plaats van het opnieuw definiëren voor elke zaak.Trouwens, een soort gegevens geërfd, man, de gelegenheid zullen hebben om, getage (). De methode is.Bescherming van de persoonlijke levenssfeer, verwerking, javascript nog een gemeenschappelijk probleem is, niet de ware betekenis van de privé - variabelen.Maar we kunnen met de sluiting van privacy te simuleren.Rekening houdend met de volgende code: var retinamacbook = (functie) (///////- var - ram, addram; Ram = 4; ///////addram = functie van privé - methode (additionalram) {ram + = additionalram;}; terugkeer van de variabele en methoden (///////insertusb: functie: de definitie van een USB - (installatie) {this.usb = apparaat;}, removeusb: functie () {VAR apparaat = this.usb; this.usb = definities; - apparaat;}};) (});, in bovenstaand voorbeeld, creëren we een, retinamacbook, voorwerp, en openbare en particuliere variabelen en methoden.Dit is hoe we het retinamacbook:,. Insertusb ("myusb"); de console log (retinamacbook. USB); ///////log "myusb console log (retinamacbook. RAM) /annulering van de definitie van nog veel meer kunnen we niet doen, in functie van javascript en sluiten, maar Laten we niet alles in deze les.De aard van de gegevens en van de persoonlijke levenssfeer van de javascript in onze kleine lessen leren, kunnen we die ontwerp - patroon, creatief, er zijn veel verschillende modellen, we moeten dekking in deze handleiding, die twee: de bouwers en het prototype.Ik vond, dat zijn genoeg gebruikt, om ervoor te zorgen dat de aandacht.In de ontwikkeling van de site, meestal met een generator in de verwezenlijking van het model, maar niet voordat je het kan gebruiken.Simpel gezegd, deze toestand kan worden gedefinieerd als volgt: toepassing van het model voor de bouw van de,, kunnen we alleen maar een object van bepaalde soorten en de inhoud van de objecten.We hoeven niet uitdrukkelijk tot doel.En, zoals u misschien al talloze keren gedaan in de goede, var. Mydiv = $("< div =" mydiv "> dit is een < ///////////die >"); de vertegenwoordigers van mydiv nu een goede voorwerp met Een dom.Een tekst var = USD ("< P />"); ///////een tekst is een goede doel verwijzingen htmlparagraphelement var - input = $("< input />"); zitten boven de drie voorbeelden zien.In het eerste deel, dat we door een, < div /> sommige elementen van de inhoud.Ten tweede, we in een lege, < p> de etikettering.Tot slot hebben we door middel van een, < input />, yuan.Alle drie hetzelfde resultaat: wij weer een goede voorwerp met een dom -.,,,, de bouwers van de variabelen met dit model.In elk geval, gaan we terug naar een goede dom object en toegang tot alle methoden voor: Bibliotheek, maar we zijn niet expliciet een dossier. CreateElement,.Bibliotheken, onder de motorkap.Stel je voor hoeveel werk als expliciet moeten worden gecreëerd en de inhoud van de DOM element wordt opgenomen in het!Door gebruik te maken van een model, kunnen we ons concentreren op de aard van het voorwerp en inhoud, maar niet expliciet in het leven te roepen.Eerder, prototype, en we hebben in de definitie van het soort gegevens en javascript toevoeging van de methode betreft het prototype.Het prototype om objecten van andere objecten, door middel van het prototype.Het prototype is gebaseerd op een model voor een doel, door middel van het klonen van model tot doel het patroon.Dit is, in de verwezenlijking van een eenvoudige javascript erfenis en de manier van de natuur.Bijvoorbeeld: de = {VAR numfeet:2, numheads:1, numhands:2}; ///////object.create als een van zijn eerste parameter en de toepassing van het in je nieuwe doel is een prototype.'tilo' = var. Het creëren van (de); de console log ('tilo'. Numheads); ///////- 1 tilo.numheads = 2; de console log ('tilo'. Numheads) /output 2, kenmerken (methoden), de persoonlijke, het voorwerp is van toepassing Op, 'tilo' prototype object.We kunnen de definitie van kenmerk, de 'tilo', als we willen dat ze de verschillende onderwerpen, in bovenstaand voorbeeld, we gebruiken voorwerpen.) (').Maar het internet browser methode voor de aanpassing van de 8 niet steunen.In deze omstandigheden, kunnen we het gedrag van de simulatie, var vehicleprototype = {gestart: functie (carmodel) {methode = carmodel;}, getmodel: functie () {console logboek ("model, dat is de auto van" + dit. Model);}}; de functie van voertuigen (model) {F () {}; f.prototype = vehicleprototype; var = f (nieuwe); f.init (model); f) de auto terug, var ("Ford"); de auto. Getmodel (); deze methode het enige nadeel is dat je niet bepaald een read - only, gebruik kunnen maken van het object wordt aangewezen) ().,.Niettemin, prototype blijkt voorwerp kan worden van andere objecten geërfd.De ontwerp -, structuur, de structuur van het ontwerp - is echt behulpzaam was, om uit te vinden hoe een systeem moet worden gewerkt.Ze laten ons gemakkelijk uit te breiden en om de handhaving van de toepassing.We zullen in de volgende vormen: in deze groep van samengestelde materialen en de verschijning van een complex patroon samengestelde model, een model voor je had kunnen gebruiken zonder dat.Samengestelde modus, een groep van voorwerpen worden op dezelfde wijze te behandelen, als een afzonderlijke objecten, wat betekent dit?Nou, met dit voorbeeld (de meeste) is de bibliotheek, zal er een gelijkwaardig zijn aan deze): $(",". Mylist).AddClass (geselecteerd), $("# myitem").AddClass (geselecteerd); ///////niet dat de grote tafel, dit is maar een voorbeeld.$("# een TBODY TR"), ("klik" functies (gebeurtenissen) (signalering (% (dit). ());}); $("# kleur"), (de "klik" functies (gebeurtenissen) (signalering ("klik"); de meeste javascript}); Om een consistente API, of we worden geconfronteerd met een dom elementen of een reeks dom elementen.In het eerste geval, kunnen we aan de keuze van soorten, alle goederen, neem op. Mylist, trainers, maar we gebruiken dezelfde methode bij de behandeling van een enkele elementen van de DOM,&#myitem,.Ook kunnen we de gebeurtenis op het gebruik van (,), multi - methode, of van de interne - door dezelfde API.En het gebruik van samengestelde modus: (en vele andere bibliotheek) voorziet ons van een vereenvoudiging van de API, samengestelde model is soms problemen veroorzaken.In een losse vorm van talen zoals het vaak javascript, kan bijdragen aan de weet dat we worden geconfronteerd met een of meer van de volgende elementen van enkele elementen.Als gevolg van de ingewikkelde wijze gebruik wordt gemaakt van dezelfde interface, kunnen we vaak verward met een andere en, uiteindelijk, de fouten en ongevallen.Een bibliotheek voor het verkrijgen van elementen, zoals yui3, twee afzonderlijke methoden (y), en één (y). (,).De wijze van optreden, dit is wat we denken dat het een gemeenschappelijk model.In feite, dit is een van mijn favoriete, want het is heel eenvoudig, ik zag het op de plaats van gebruik, te helpen en niet met eenparigheid van stemmen de browser.Hier is de patronen over: "winkel" model biedt de gebruikers een eenvoudige interface, de complexiteit en het verstoppen.Verbetering van de façade. Bijna altijd een stuk software beschikbaar.Dit is een ander voorbeeld van het gebruik van de bibliotheek, een populaire methode is, klaar). De methode: $(document) (functie) (///////voorbereiding van al je code in, hier.}); deze aanpak in de praktijk (), en de uitvoering van een façade.Als je kijkt naar de bron, dit is je ontdekking: voor: (functie) (.///////mozilla, opera, en bewijzen als (dossier. AddEventListener) {doc. AddEventListener ("domcontentloaded", idempotent_fn, valse);...De gebeurtenissen) ///////model, of als (doc. Attachevent) {///////in om ervoor te zorgen dat de voor de lancering. Misschien laat maar ook de veiligheid van documenten voor de iframe. Attachevent ("onreadystatechange", idempotent_fn); ///////window.onload terug in het raam, altijd aan het werk. Attachevent ("belasting", idempotent_fn);...{}), onder de motorkap, klaar (). De methode is niet zo eenvoudig.Dit zijn om ervoor te zorgen dat de browser, klaar (), op de juiste tijd.Echter, als een ontwikkelaar, heb je een eenvoudige interface.De meeste van de façade. In overeenstemming met dit beginsel.Bij de uitvoering van een, we zijn vaak afhankelijk van de voorwaarden van de verklaring onder de motorkap, maar op dit moment is het als een eenvoudige interface.De uitvoering van deze benadering, met inbegrip van andere, animate () (),,, de CSS.Weet je waarom deze met een positieve patroon?,,, het gedrag van een ontwerp - OO - software zal zijn tussen het voorwerp van de communicatie.Geen mededeling van de organisatie leiden tot moeilijk te vinden en het herstel van fouten.De ontwerp - verordening het gedrag van verschillende organisaties tussen het voorwerp van de wijze van communicatie.In deze rubriek, zullen we voor observatie en tussenpersonen.De waarnemer, ziet het model dat wij gaan door de eerste twee patronen van gedrag.Hier is gezegd: in de waarnemer in een patroon, een betreft kan een belanghebbende aan de lijst van personen, het leven.In een tijd van de thema 's wat interessante dingen, het stuurt een bericht, van de waarnemers.Als een waarnemer voor dit thema niet meer te luisteren naar zijn geïnteresseerd, de thema 's van het in de lijst kan schrappen.Dat klinkt eenvoudig, hè?We moeten op drie manieren: beschrijving van het model, te publiceren (data), dit is een bericht, het is een bericht.Sommige gegevens kan op deze manier.,,, abonnementen (waarnemers): genoemd, door de toevoeging van een waarnemer van de lijst van de waarnemers.,, het uitschrijven van (waarnemer): door het lichaam worden geschrapt van de lijst van een waarnemer.En, oh, de meest moderne javascript ter ondersteuning van deze drie methoden op de gebeurtenissen van een deel van de infrastructuur.Meestal is er een, op (), of aan een trekker, methode () (), of brand (), de methode, de en de,, of nog verder. () (), en methoden.Rekening houden met de volgende code:, creëren we een verband tussen de belangrijkste gebeurtenissen voor, en die welke door de waarnemer - /vastgestelde maar niet van jou.O = $({}); dollar. Abonnement = o.on. Bindende (O); dollar. Het uitschrijven van = o.off. Bindende (O); dollar. De publicatie = o.trigger. Bindende (O); ///////gebruik van het document. In tweetsreceived "(" functies (BO) {///////uitvoering van die gebeurtenissen, dan vuur de dollar. De publicatie ('tweetsshow, tweet);}); ///////abonnement op deze gebeurtenissen en dan kunnen we het vuur onze eigen zaak.Dollar. Abonnementen ("tweetsshow" functie) (///////display tweets onverklaarbaar.Na de bekendmaking van een op een, actie.De dollar. De publicatie ('tweetsdisplayed);}); dollar. Abonnementen (functie) ('tweetsdisplayed,...De waarnemer is een eenvoudigere wijze te bereiken, maar het is erg sterk.Javascript is zeer geschikt voor dit model, dat is gebaseerd op een natuurlijke gebeurtenis.De volgende keer als de ontwikkeling van het netwerk van toepassing, rekening moet worden gehouden met de ontwikkeling van modules en van elkaar los te koppelen, en door de waarnemer patroon als middel van communicatie.Als er te veel onderwerpen en waarnemers deel te nemen aan de woorden, waarnemer. Kan een probleem zijn.Dit kan gebeuren in de grootschalige systemen, en in het kader van een model, en we kijken uit naar de ombudsman om dit probleem op te lossen, de mode, moeten we kijken naar de laatste mode is de bemiddelaar.Het patroon lijkt met de waarnemer, maar er zijn aanzienlijke verschillen, deze bemiddelende wijze bevordert de communicatie met meerdere objecten een gemeenschappelijke thema 's worden gebruikt.Alle voorwerpen via een tussenpersoon, een mededeling goed in de echte wereld, naar analogie van het luchtverkeer is een toren, het verwerken van de communicatie tussen de luchthavens en vluchten.In de software - ontwikkeling van de wereld, de gebruikte intermediaire vormen vaak een systeem is ingewikkeld.Door het in de handel brengen van media, communicatie kan door middel van een enkel object te behandelen, niet meer dan één object met elkaar communiceren.In deze zin, een bemiddelaar patroon kan worden gebruikt in de plaats van uitvoering van de waarnemer - systeem, een door de 阿迪奥斯 marnie het model op basis van de bemiddeling, de vereenvoudiging van de uitvoering.Laten we praten over hoe je het gebruikt.Stel je voor dat je een netwerk van toepassing is, kan de gebruiker op een album, en muziek te spelen.Je kan een tussenpersoon die: ("# dollar album), (klik geluiden gehoord, (e) {zoals preventdefault (); de VAR - albumid =% (dit). ID (); de media. Bekendmaking (" playalbum ", albumid);}); var playalbum = functie (ID) {... Mediums. Bekendmaking (" albumstartedplaying ", (de lijst met nummers: [de onderneming], currentsong:" zonder jou "});}; var logalbumplayed = functie (ID) {///////in de achterkant van het album}; var updateUserInterface = functie (CD) {///////bijwerking van de bu weergeven wat speelt}; ///////- de bemiddelaar voor rapporteur onderschrijven. Abonnement (" playalbum ", playalbum); media. Abonnement (" playalbum ", logalbumplayed); media. Abonnement (" albumstartedplaying "updateUserInterface); en de voordelen van een model Dat de waarnemer. IkEen object voor personen die verantwoordelijk zijn voor de communicatie, terwijl in de waarnemer patroon van meerdere objecten kunnen luisteren en een abonnement op elkaar.In de waarnemer -, is er geen enkele voorwerpen bevatten een beperking.Integendeel, de waarnemer en de ontvangers moeten gepaard gaan met een te beperkt.De wijze van communicatie door de waarnemer en de deelnemers nemen: één van de belangrijkste meestal veel waarnemers, soms een betreft de waarnemer is nog een waarnemer van de thema 's en is tot de conclusie gekomen dat iemand al met succes toegepast in het verleden.Veel van open - source code, dat de verschillende modellen in de javascript.Als de ontwikkeling van personeel, we moeten weten wat voor patroon is daar, wanneer van toepassing zijn.Ik hoop dat deze gids zal u helpen om deze problemen op te lossen.,, verhoging van de inhoud van het document te lezen, en meer van kan leren in goede javascript ontwerp - boek, door de ADI Osmani.Dit is een gratis online boeken, bij de volgende vergunningen afgegeven.Dit boek heeft betrekking op een groot aantal verschillende modellen en de uitvoering van de in theorie, vanille javascript en is de bibliotheek.Ik moedig je aan je volgende plan als een referentie.,



Previous:
Next Page: