Éè¼Æģʽ֮¹Û²ìÕß(Observer)ģʽÓëÆäC++ͨÓÃʵÏÖ£¨Ï£©
ÎÒÃÇÔÚ¡¶Éè¼Æģʽ֮¹Û²ìÕß(Observer)ģʽÓëÆäC++ͨÓÃʵÏÖ£¨ÖУ©¡·Ò»ÎÄÖиø³öÁËÒ»¸öÒÔC++ÓïÑÔʵÏÖµÄͨÓù۲ìÕßģʽ·½°¸¹Ç¼Ü¡£È»¶ø£¬Êµ¼ÊµÄ¹¤³ÌÏîÄ¿ÐèÇóÍùÍùÒª±ÈÀíÏë״̬¸´Ôӵö࣬´Ëƪ±ãÊÇÓë¶ÁÕßÒ»Æð̽ÌÖÔÚÏÖʵÊÀ½çÖпÉÄÜÓöµ½µÄ¸÷ÖÖ¼¬ÊÖÎÊÌâ¼°½â¾ö·½°¸¡£ ÎÒ°ÑĿǰΪֹÎÒËùÓöµ½µÄÎÊÌâÂÞÁÐÈçÏ£º ¸´ºÏÖ÷Ìâ ¶àÏß³Ì ¸üз½·¨Ð޸Ĺ۲ìÕßÁ´±í ½ÓÏÂÀ´ÎÒÃÇÒ»Ò»¸øÓèÌÖÂÛ¡£ £¨Ò»£©¸´ºÏÖ÷Ìâ ¿¼ÂÇGUIµÄ×é¼þÉè¼Æ£¬ÎÒÏ°¹ßÓÃWidgetÀà´ú±íÖ®£¬ËüÐèÒª´¦ÀíÐí¶àÓû§½»»¥ÒÔ¼°ÏµÍ³Ê¼þ£¬ÆäÖÐ×î³£¼ûµÄÓû§½»»¥Ê¼þÓÐÊó±ê¼°¼üÅÌʼþ¡£ÌÈÈô¼Ü¹¹Ê¦¾ö¶¨ÒÔʼþ¼àÌý·½Ê½Éè¼ÆÕû¸öUI¿ò¼Ü£¬ÄÇôWidget±ã¾ßÓÐÖ÷ÌâµÄ½ÇÉ«£¬ÏàÓ¦µÄ£¬Êó±ê¼°¼üÅÌʼþ±ãÊǹ۲ìÕß½ÇÉ«¡£Êµ¼ÊÉÏ£¬Ò»¸öÖ÷Ìâ¶ÔÓ¦¶àÖÖ£¨²»ÊǶà¸ö£©¹Û²ìÕßµÄÏÖÏóºÜÆձ顣 ÎÒÃǽèÖúÖÐƪËù¸øµÄ¹Û²ìÕßģʽ¹Ç¼ÜʵÏÖÕâÀàÓ¦Óᣠ½èÖú¶à¼Ì³Ð»úÖÆ£¬ºÜÈÝÒ×°ìµ½£º 01.struct MouseListener { Ìí¼Óʼþ¼àÌýÆ÷µÄα´úÂë´óÖ**çÏ£º 01.MouseListener mel; ΪÁËʹWidgetÌí¼Ó/ÒƳýʼþ******µÄ·½·¨¸ü¼ÓÓѺã¬ÎÒÃÇ¿ÉÒÔΪWidgetÌṩaddXXXListener/removeXXXListener ·½·¨£¬ÕâЩ·½·¨»á°Ñµ÷ÓÃת¸ø»ùÀà¡£ÓÐÁËÕâЩÏà¶Ô½ÏÓѺõĽӿں󣬻ùÀàµÄaddObserver/removeObserver½Ó¿Ú¶ÔÓû§ÒѾûÓÐÓÃÁË£¬ËùÒÔÎÒÃǿɸÄÓÃprotected¼Ì³Ð¡£×ÛºÏÆðÀ´£¬´úÂë¿´ÆðÀ´´óÖÂÏñÕâÑù£º 01.class Widget : protected BasicSubject<MouseListener>,protected BasicSubject<KeyListener>{ µ±È»£¬ÄãÒ²¿ÉÒÔ²»Ê¹Óü̳иĶøʹÓÃ×éºÏ¼¼ÊõʵÏÖ£¬ÕâÍêÈ«È¡¾öÓÚÄãµÄ°®ºÃ¡£×éºÏ°æ±¾µÄʵÏÖ´óÖÂÊÇÏñÕâÑùµÄ£º 01.class Widget { £¨¶þ£©¶àÏß³Ì ÌÈÈôÎÒÃǵÄÓ¦ÓóÌÐòÔËÐÐÔÚ¶àÏ̻߳·¾³ÖУ¬ÄÇÄã¿ÉÒª½÷É÷ÁË¡£ÊÔÏëÏß³ÌAÕýÔÚÌí¼Ó¹Û²ìÕßµÄͬʱÁíÒ»Ïß³ÌBÒ²ÊÔͼÌí¼Ó¹Û²ìÕß°É¡£ÎÒÃÇĬÈÏʹÓõÄÈÝÆ÷std::listÊÇÏ̷߳ǰ²È«µÄ£¬ËùÒÔÎÒÃǵÄBasicSubjcetÒ²»áÊÇÏ̷߳ǰ²È«µÄ¡£Òª½â¾ö´Ë |
ÁèÖڿƼ¼×¨ÒµÌṩ·þÎñÆ÷×âÓᢷþÎñÆ÷Íйܡ¢ÆóÒµÓʾ֡¢ÐéÄâÖ÷»úµÈ·þÎñ£¬¹«Ë¾ÍøÕ¾£ºhttp://www.lingzhong.cn ΪÁ˸ø¹ã´ó¿Í»§Á˽â¸ü¶àµÄ¼¼ÊõÐÅÏ¢£¬±¾¼¼ÊõÎÄÕÂÊÕ¼¯À´Ô´ÓÚÍøÂç,ÁèÖڿƼ¼×ðÖØÎÄÕÂ×÷ÕߵİæȨ£¬Èç¹ûÓÐÉæ¼°ÄãµÄ°æȨÓбØҪɾ³ýÄãµÄÎÄÕ£¬ÇëºÍÎÒÃÇÁªÏµ¡£ÒÔÉÏÐÅÏ¢ÓëÎÄÕÂÕýÎÄÊDz»¿É·Ö¸îµÄÒ»²¿·Ö,Èç¹ûÄúҪתÔر¾ÎÄÕÂ,Çë±£ÁôÒÔÉÏÐÅÏ¢£¬Ð»Ð»! |
- Flash MX proµÄÀúÊ·Ãæ°å£¨Èý£©
- Spring Web Flow 2.0ÈëÃÅ - ÅäÖÃSpring Web Flow 2.0µÄ»ù´¡ - ±à³ÌÈëÃÅÍø
- linuxÏÂÊÍ·ÅÄÚ´æ
- FLAS*****Öг£ÓõıíÏÖÊÖ·¨
- PhotoshopĥƤÃÀ°×ÕÕƬ:µÀ¶É«µÄ·ÇÖ÷Á÷Å®º¢
- PhotoshopÇ©Ãû½Ì³Ì:·ÛÉ«µ÷Çå´¿¿É°®MM
- PhotoshopÖÆ×÷ʱÉÐÃÀÅ®ÉÁͼ
- Photoshopµ÷É«½Ì³Ì£ºµ÷³öÂÌÉ«Í⾰ͼƬ×ϺìµÄ»Æ»èÉ«
- ÖÆ×÷¹âµú¸ßËÙÐýתµÄGIF¶¯»¼¼ÇÉ
- Cisco·ÓÉÆ÷¿ÚÁîµÄ»Ö¸´(600)