JAVAÃæÏò¶ÔÏóÓëÉè¼ÆÄ£Ê½ - ͼÎÄ ÏÂÔØ±¾ÎÄ

3.3.2 Iterator(µü´úÆ÷)£ºÊÊÓÃÐÔÓë²ÎÓëÕßÊÊÓÃÐÔ:

? ·ÃÎÊÒ»¸ö¾ÛºÏ¶ÔÏóµÄÄÚÈݶøÎÞÐ豩¶ËüµÄÄÚ²¿±íʾ¡£? Ö§³Ö¶Ô¾ÛºÏ¶ÔÏóµÄ¶àÖÖ±éÀú¡£

? Ϊ±éÀú²»Í¬µÄ¾ÛºÏ½á¹¹Ìṩһ¸öͳһµÄ½Ó¿Ú(¼´, Ö§³Ö¶à̬µü´ú)¡£²ÎÓëÕߣº

? Iterator(µü´úÆ÷)¡ªµü´úÆ÷¶¨Òå·ÃÎʺͱéÀúÔªËØµÄ½Ó¿Ú¡£? ConcreteIterator(¾ßÌåµü´úÆ÷)¡ª¾ßÌåµü´úÆ÷ʵÏÖµü´úÆ÷½Ó¿Ú¡£

¡ª¶Ô¸Ã¾ÛºÏ±éÀúʱ¸ú×Ùµ±Ç°Î»Öá£

? Aggregate(¾ÛºÏ)¡ª¾ÛºÏ¶¨Òå´´½¨ÏàÓ¦µü´úÆ÷¶ÔÏóµÄ½Ó¿Ú¡£? ConcreteAggregate(¾ßÌå¾ÛºÏ)¡ª¾ßÌå¾ÛºÏʵÏÖ´´½¨ÏàÓ¦µü´úÆ÷µÄ½Ó¿Ú,¸Ã²Ù×÷·µ»ØConcreteIteratorµÄÒ»¸öÊʵ±µÄʵÀý¡£

3.3.2IteratorģʽµÄUMLÀàͼ

3.3.3 Observer(¹Û²ìÕß)¡ª¶ÔÏóÐÐΪÐÍģʽ1. Òâͼ

¶¨Òå¶ÔÏó¼äµÄÒ»ÖÖÒ»¶Ô¶àµÄÒÀÀµ¹ØÏµ,µ±Ò»¸ö¶ÔÏóµÄ״̬·¢Éú¸Ä±äʱ, ËùÓÐÒÀÀµÓÚËüµÄ¶ÔÏ󶼵õ½Í¨Öª²¢±»×Ô¶¯¸üС£¾ÙÀý£º¡°°ëÒ¹£¬Ã¨´ó½ÐÒ»Éù£¬Ö÷È˱»¾ªÐÑ£¬ÀÏÊóËÄÉ¢¶øÌÓ¡£¡±

2. ±ðÃû

ÒÀÀµ(Dependents), ·¢²¼-¶©ÔÄ(Publish-Subscribe)3. ¶¯»ú

½«Ò»¸öϵͳ·Ö¸î³ÉһϵÁÐÏ໥Э×÷µÄÀàÓÐÒ»¸ö³£¼ûµÄ¸±×÷ÓÃ:ÐèҪά»¤Ïà¹Ø¶ÔÏó¼äµÄÒ»ÖÂÐÔ¡£ÎÒÃDz»Ï£ÍûΪÁËά³ÖÒ»ÖÂÐÔ¶øÊ¹¸÷Àà½ôÃÜñîºÏ,ÒòΪÕâÑù½µµÍÁËËüÃǵĿÉÖØÓÃÐÔ¡£

ÕâһģʽÖеĹؼü¶ÔÏóÊÇÄ¿±ê( s u b j e c t )ºÍ¹Û²ìÕß( o b s e r v e -r )¡£Ò»¸öÄ¿±ê¿ÉÒÔÓÐÈÎÒâÊýÄ¿µÄÒÀÀµËüµÄ¹Û

3.3.3 Observer(¹Û²ìÕß)¡ª¶ÔÏóÐÐΪÐÍģʽ1. Òâͼ

¶¨Òå¶ÔÏó¼äµÄÒ»ÖÖÒ»¶Ô¶àµÄÒÀÀµ¹ØÏµ,µ±Ò»¸ö¶ÔÏóµÄ״̬·¢Éú¸Ä±äʱ, ËùÓÐÒÀÀµÓÚËüµÄ¶ÔÏ󶼵õ½Í¨Öª²¢±»×Ô¶¯¸üС£¾ÙÀý£º¡°°ëÒ¹£¬Ã¨´ó½ÐÒ»Éù£¬Ö÷È˱»¾ªÐÑ£¬ÀÏÊóËÄÉ¢¶øÌÓ¡£¡±

2. ±ðÃû

ÒÀÀµ(Dependents), ·¢²¼-¶©ÔÄ(Publish-Subscribe)3. ¶¯»ú

½«Ò»¸öϵͳ·Ö¸î³ÉһϵÁÐÏ໥Э×÷µÄÀàÓÐÒ»¸ö³£¼ûµÄ¸±×÷ÓÃ:ÐèҪά»¤Ïà¹Ø¶ÔÏó¼äµÄÒ»ÖÂÐÔ¡£ÎÒÃDz»Ï£ÍûΪÁËά³ÖÒ»ÖÂÐÔ¶øÊ¹¸÷Àà½ôÃÜñîºÏ,ÒòΪÕâÑù½µµÍÁËËüÃǵĿÉÖØÓÃÐÔ¡£

ÕâһģʽÖеĹؼü¶ÔÏóÊÇÄ¿±ê( s u b j e c t )ºÍ¹Û²ìÕß( o b s e r v e -r )¡£Ò»¸öÄ¿±ê¿ÉÒÔÓÐÈÎÒâÊýÄ¿µÄÒÀÀµËüµÄ¹Û