Rețineți că puteți înregistra mulți observatori pentru newsagency și puteți obține actualizări prin intermediul acestora. De exemplu, puteți înregistra un observator TVChannel sau InternetNewsChannel pentru a primi actualizări de la newsagency.
În plus, puteți avea alți editori (sau orice alte tipuri de obiecte care implementează Observabile> care oferă actualizări oricărui observator care dorește să se înregistreze pentru știri.) Acești observatori pot efectua o verificare de tip Observabil și actualizări de proces în funcție de sursă.
Un dezavantaj semnificativ al acestei implementări a modelului Observer este că trebuie să extindem clasa Observabilă. Acest lucru vă obligă să utilizați o ierarhie de clasă, care poate fi nedorită. Deoarece nu puteți extinde mai multe clase simultan în lumea de moștenire singulară a limbajului lui Jav. Acest mod de implementare a modelului "Observer" limitează designul moștenirii.
Nu puteți adăuga comportamentul clasei Observabile la o clasă existentă care extinde deja o altă clasă de bază, limitându-și astfel potențialul pentru multiple utilizări. Dar nu disperați. Puteți implementa modelul "Observer" "livrat manual", fără a utiliza interfețele interne Observer și Observare.
Trimiteți-le prietenilor: