Âß¼ÊÓͼ£ºÖ÷ÒªÖ§³ÖϵͳµÄ¹¦ÄÜÐèÇ󣬼´ÏµÍ³Ìṩ¸ø×îÖÕÓû§µÄ·þÎñ¡£ ¿ª·¢ÊÓͼ£ºÖ÷Òª²àÖØÓÚÈí¼þÄ£¿éµÄ×éÖ¯ºÍ¹ÜÀí¡£
½ø³ÌÊÓͼ£º²àÖØÓÚϵͳµÄÔËÐÐÌØÐÔ£¬Ö÷Òª¹Ø×¢Ò»Ð©·Ç¹¦ÄÜÐÔµÄÐèÇó¡£ ÎïÀíÊÓͼ£ºÖ÷Òª¿¼ÂÇÈçºÎ°ÑÈí¼þÓ³Éäµ½Ó²¼þÉÏ£¬Ëüͨ³£Òª¿¼Âǵ½ÏµÍ³ÐÔÄÜ¡¢¹æÄ£¡¢ ¿É¿¿ÐԵȡ£
³¡¾°£º¿ÉÒÔ¿´×÷ÊÇÄÇÐ©ÖØÒªÏµÍ³»î¶¯µÄ³éÏó£¬ËüʹËĸöÊÓͼÓлúÁªÏµÆðÀ´£¬´ÓijÖÖÒâÒåÉÏ˵³¡¾°ÊÇ×îÖØÒªµÄÐèÇó³éÏó¡£
10. ģʽ»ò³éÏóÔÚÈí¼þÁìÓòÖеÄ×÷Óà £¨Ö÷¹Û£©
ËÄ. ´úÂë
1. ¹Û²ìÕßģʽ
public class WeatherData implements Subject{ private ArrayList observers; private float temperature; private float humidity; private float pressure; public WeatherData(){ observers = new ArrayList(); } public void registerObserver(Observer o){ observers.add(o); } public void removeObserver(Observer o){ int i = observers.indexOf(o);
pressure){
}
if(i >= 0){
observers.remove(i); } }
public void notifyObservers(){ for(int i = 0; i < observers.size(); i++){ Observer observer = (Observer) observers.get(i); observer.update(temperature, humidity, pressure); } }
public void measurementsChanged(){ notifyObservers(); }
public void setMeasurements(float temperature, float humidity, float }
this.temperature = temperature; this.humidity = humidity; this.pressure = pressure; measurementsChanged();
2. ÊÊÅäÆ÷ģʽ £¨1£©¼Ì³ÐÐÍ
£¨2£©Î¯ÍÐÐÍ
3. µ¥Àýģʽ