Éè¼Æģʽ֮¹Û²ìÕß(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»¿É·Ö¸îµÄÒ»²¿·Ö,Èç¹ûÄúҪתÔر¾ÎÄÕÂ,Çë±£ÁôÒÔÉÏÐÅÏ¢£¬Ð»Ð»! |
- linuxϵͳ×ÊÔ´ÃüÁî´óÈ«£¡
- javaÊ÷Ðͽṹ - ±à³ÌÈëÃÅÍø
- LiunxµÄ´ÅÅÌ·ÖÇøºÍ¸ñʽ»¯´ÅÅ̼°ÏÞ¶îµÄ³£ÓÃÃüÁî.Áù
- ΪÆóÒµ´î½¨dhcp·þÎñÆ÷
- PSµ÷É«:°µ»ÆÉ«µ÷ÂÔ´øÓÇÓôµÄ·µÆЧ¹û
- hibernate3ѧϰ±Ê¼Ç(¶þÊ®Èý)£ü½ø½×ÌØÐÔ(Ò») - ±à³ÌÈëÃÅÍø
- ¼¸ÖÖvcl¹¹¼þµÄÓ÷¨
- ·ÖÎö£º´òÔì²»µôÏßµÄÍø°É·ÓÉÆ÷
- ÈÃASP.NETʹÓÃMsgBox·½·¨
- Hibernate¹ýÂËÆ÷ʹÓÃÇÏÃÅ - ±à³ÌÈëÃÅÍø