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
  1. $richMan=new Observer();            //$observer=new ConcreteObserver();  
  2. $girl=new Dancer();                 //$subject=new Subject();  
  3. $girl->getCashFrom($richMan);        //$subject->registerObserver($observer);  
  4. $peepShow=new PeepshowEvent($girl); //$event=new ConcreteEvent($subject);  
  5. $girl->perform($peepShow);           //$subject->notifyAll($event);  
  6. $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:
  1. function betolt()  
  2.                 {  
  3.                     if (document.getElementById)  
  4.                         {  
  5.                             document.getElementById('betolto').style.visibility='hidden';  
  6.                         }  
  7.                         else  
  8.                             {  
  9.                                 if (document.layers)  
  10.                                     {  
  11.                                         document.betolto.visibility = 'hidden';  
  12.                                     }  
  13.                                     else  
  14.                                         {  
  15.                                             document.all.betolto.style.visibility = 'hidden';  
  16.                                         }  
  17.                             }  
  18.                 }  
Erre nincs valami egyszerű megoldás?
A válaszokat előre is köszönöm!