ugrás a tartalomhoz

Archívum - Nov 16, 2011 - Fórum téma

Observer és a logika

inf · 2011. Nov. 16. (Sze), 23.25
Elég vicces minta az Observer, legalábbis biztosan nem volt a helyzet magaslatán, aki elnevezte.

Ugye van Observable és Observer a mintában, az érdekessége pedig az, hogy az Observer-t a Subject-hez kell beregisztrálni. Tehát nem a figyelő dönti el, hogy ő most figyel, hanem az megfigyelt dönti el, hogy őt most meg lehet figyelni. Ez pedig szerintem a való élettől elég elrugaszkodott, hacsak nem a pénzbedobós kukkolós fülkéket vette alapul a minta kitalálója... :D

$richMan=new Observer();			//$observer=new ConcreteObserver();
$girl=new Dancer();					//$subject=new Subject();
$girl->getCashFrom($richMan);		//$subject->registerObserver($observer);
$peepShow=new PeepshowEvent($girl);	//$event=new ConcreteEvent($subject);
$girl->perform($peepShow);			//$subject->notifyAll($event);
$richMan->watch($peepShow);			//$observer->notify($event);
Ti milyen más nevet adnátok ennek a mintának, illetve a benne lévő osztályoknak?
 

Oldal töltését jelző "ablak"

attiss94 · 2011. Nov. 16. (Sze), 17.54
Szép napot mindenkinek!
Mozt kezdtem foglalkozni a Javascript-ekkel, de fogalmam sincs arról, hogy hogyan lehetne megoldani a következő problémát: Amíg az oldal be nem tölt jelenjen meg egy ablak, mely jelzi a kliensnek, hogy az oldal tölt, de a hátteret sötétítse le és ne lehessen használni addik az oldalt. Próbáltam sokmindent, de mindig muszáj volt visszatérnem az eredetihez, mert nem működött...

Most így néz ki a kód:

function betolt()
				{
					if (document.getElementById)
						{
							document.getElementById('betolto').style.visibility='hidden';
						}
						else
							{
								if (document.layers)
									{
										document.betolto.visibility = 'hidden';
									}
									else
										{
											document.all.betolto.style.visibility = 'hidden';
										}
							}
				}
Erre nincs valami egyszerű megoldás?
A válaszokat előre is köszönöm!