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 )¡£Ò»¸öÄ¿±ê¿ÉÒÔÓÐÈÎÒâÊýÄ¿µÄÒÀÀµËüµÄ¹Û