Ontwerp - model: de waarnemer.

, ontwerp -: waarnemer.,,,,,,,,,, 22, 4 aandelen,,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen, een deel van de prijs van een reeks PHP genoemd ontwerp - patroon: commando mode ontwerp - methoden: de fabriek, nu ik in deze reeks ontwerp - een gedrag, dit is een waarnemer.Observatie betekent dat iemand je in de gaten activiteiten, dit is misschien de waarnemer actie hangt af van uw activiteiten.  , en hetzelfde geldt voor de ontwerp - en.Voor de verwezenlijking van deze patronen, we hebben 一一多 betrekkingen met onze object, een voorwerp moet veranderen /in kennis van iedere wijziging van alle andere voorwerpen, Wikipedia.,, de volgende woorden te zeggen:,,, als waarnemer - is een voorwerp van ontwerp - patroon, bekend als de thema 's, de handhaving van Een van de familie, bekend als waarnemers, en hen in kennis te stellen van de automatische wijzigingen in een staat, meestal door een beroep te doen op hun manier.Het wordt voornamelijk gebruikt voor de uitvoering van systemen voor de verwerking van die gebeurtenissen.De waarnemer. Ook in de bekende model van een belangrijk deel van de verantwoordelijke voor de verwerking van mening – (MVC) structuur, het meer over. En de ontwerp -, ik heb een simulator, blijk te geven van de verschillende valuta 's van de voorbeelden van de waarde van de dollar.We zien dat de prijzen van de simulator en regelmatig bijgewerkt prijs.,,, voordat we dat doen, laten we de definitie van de belangrijkste taken van de simulator klasse (dit is net als in het geval van waarnemer).  ,,, de waarnemer moet de toevoeging van een nieuwe monetaire capaciteit, zodat de cliënt kan nog zoveel als ze geld willen, de waarnemer zou moeten worden verwezen naar alle valuta 's, toe te voegen, moet worden vermeld. De waarnemer van de monetaire waarde van elke registratie van de status.,,, in het volgende hoofdstuk, zullen we de verwezenlijking van onze waarnemers, de waarnemers (openbare functies, interfaces addcurrency (dollar wisselkoers); deze pricesimulator} de waarnemer (particuliere monetaire dollar; de functie van __construct () {De dollar - > monetaire = ((); de openbare functie) addcurrency (monetaire dollar munt) {array_push ($- > munt, de dollar munt); openbare functies () {} updateprice voor $- > munt als de dollar munt) {% monetaire > actualisering ();}}}, kijk, als je de code, zoals je kan zien, is het de verantwoordelijkheid van de capaciteit voor het uitvoeren van alle, hebben we reeds in het vorige hoofdstuk hebben we nu aan het voorbereiden.Wat we nu nodig hebben is een aantal verschillende valuta 's, we kunnen toevoegen aan de waarnemer, en dan gaan we goed.Laten we het uitvoeren van onze munt, een munt (klassen., openbare functie Update (); de openbare functie getPrice ();} klasse pond aan door de particuliere $price {; openbare functie __construct ($price) {% this-> prijs = $price; ECHO "< p> 'oorspronkelijke Price: {$price}< /p>} openbare functie;"; Update () {$this-> prijs = $this-> getPrice (); de ECHO "< p>': {$this-> bijgewerkte Price; price}< /p>";} openbare functie getPrice () {terug f_rand (0,65, 0,71;}} {$price klasse yen aan door de particuliere en openbare functie __construct ($price) {$this-> prijs = $price; ECHO "< p> de oorspronkelijke Prijs: {$price}< yen; /p>"; functio}:'n Update () {% dit > de prijs van = dollar - > getprice (); de ECHO "< p> yen aanpassing van de prijzen: {% dit > de prijs van} < /P >"; getprice () {} openbare functie terug f_rand (120.52, 12250 dollar);}}, hebben we nu alles samen, en de werking van onze waarnemers.  ,, allemaal samen, observatie (openbare functies, interfaces addcurrency (monetaire dollar' s); pricesimulator uitvoering} klasse waarnemer {particuliere monetaire dollar; de functie van __construct () {% Dit > monetaire = - (}); de openbare functie addcurrency (monetaire dollar munt) {array_push ($- > munt, de dollar munt); openbare functies () {} updateprice voor $- > munt als de dollar munt) {% monetaire > actualisering ();}}} {- door openbare functie. () (); de openbare functie getPrice;} klasse pond aan door de particuliere $price {; openbare functie __construct ($price) {$this-> prijs = $price; ECHO "< p> 'oorspronkelijke Price: {$price}< /p>"; de openbare functie Update () {} $this-> (= $this-> getPrice (); de ECHO "< p>': {$this-> bijgewerkte Price; price}< /p>";} openbare functie getPrice () {terug f_rand (0,65, 0,71;}} {$price klasse yen aan door de particuliere en openbare functie __construct ($price) {$this-> = $price; Price; ECHO "< p> de oorspronkelijke Prijs: {$price}< yen; /p>"; de openbare functie Update () {} $this-> prijs =$this-> getPrice (); de echo 'p> < Price; yen bijgewerkte: {$this-> price}< /p> ";} openbare functie getPrice () {terug f_rand (120.52, 12250 dollar);}} functie f_rand ($min=0, $max=1, $mul= 1000000) {als ($min> $max) terugkeer valse; terug mt_rand ($min*$mul, $max*$mul) /$mul;} $priceSimulator = nieuwe priceSimulator (); $currency1 = nieuwe pond (3); $currency2 = nieuwe yen (122); $priceSimulator-> addCurrency ($currency1); $priceSimulator-> addCurrency ($currency2); ECHO" < HR /> "; $priceSimulator-> updatePrice (); de ECHO" < HR /> "; $priceSimulator-> updatePrice (); de code zal output: (,,,,' oorspronkelijke Price: 0,6 yen oorspronkelijke Prijs: 122 ----------- pond bijgewerkte Price: 0,65346 yen Prijs: 121.287809 GBP update ----------- aanpassing van de prijzen: 0.671269 yen aanpassing van de prijzen: 121.300605, hier kan je zien, zijn we bij alle geregistreerde prijs van geld, ze zijn in onze simulatie laten zien.Nu moeten we nadenken over hoe we de toevoeging van de nieuwe munt kan de simulator was een kleine wijziging.  , met inbegrip van de registratie van deze wijziging, in de valuta van de simulator.Dus, onze cliënt code ongewijzigd blijft, wordt in de actualisering van de prijs van onze simulator.,, de toevoeging van een nieuwe munt, de euro, de verwezenlijking van de monetaire -, particuliere dollar prijs; de functie van __construct (dollars) {% van deze prijs de prijs van $> = < ECHO 'P > EUR; de dollar Prijs: {} < /P > "; de openbare functie Update (}) {% dit > de prijs van = dollar - > getprice (); de ECHO" < p> EUR aanpassing van de prijzen: {% dit > de prijs van} /P < > "; getprice () {} openbare functie terug f_rand (0,78 - 0,85);}}, is het gemakkelijk en eenvoudig de toevoeging van een nieuwe munt.Wat we nu moeten doen is onze waarnemers in de registratie van de nieuwe munt, dat doen we allemaal.,, pricesimulator dollar = nieuwe pricesimulator (); de stroom van de dollar = nieuwe GBP (3); currency2 = nieuwe de dollar, de yen (122 dollar); currency3 = nieuwe EUR (122 dollar); pricesimulator - > addcurrency (dollar de stroom van de dollar); pricesimulator - > addcurrency ($currency2); en pricesimulator - > addcurrency ($currency3); ECHO "< menselijke hulpbronnen />"; pricesimulator dollar - > updateprice (); de ECHO "< menselijke hulpbronnen />"; pricesimulator dollar - > updateprice ();,, conclusies, gerichte programma 's, in de een object van de staat is heel belangrijk, want alles is een voorwerp en hun interactie tussen lopen.Onder normale omstandigheden, wanneer de veranderingen, in kennis van een voorwerp nodig.Wanneer een of meer van de waargenomen veranderingen in de kijker nodig, gebruik kunnen maken van waarnemer in de volgende ontwerp - en, niet te vergeten, laat je feedback.



Previous:
Next Page: