ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

ÇëÏêϸ½éÉÜÄãËùÁ˽âµÄAOP¼¼Êõ(Ò»)
2014-11-24 01:15:22 ¡¾´ó ÖРС¡¿ ä¯ÀÀ:5924´Î
Tags£ºÏêϸ ½éÉÜ Á˽â AOP ¼¼Êõ

ʲôÊÇAOP£¿


×î³õÌýµ½AOPÕâ¸öÃû´Ê£¬ÎÒ×ÜÊÇ´í¾õÆäÓëOOPÊÇ·ñ¾ßÓÐÂÏÉúÐÔ£¿ÄÇô£¬ËùνAOP£¬¼´ÃæÏò·½Ãæ±à³Ì£¨Aspect Oriented Programming£©£¬ÊÇ·ñÊÇÃæÏò¶ÔÏó±à³ÌµÄÒ»ÖÖ½ø»¯ÄØ£¿¹Ø¼ü¾ÍÔÚÓÚÎÒÃǶԡ°·½Ã棨Aspect£©¡±µÄÀí½â¡£È·Êµ£¬¡°·½Ã桱Õâ¸ö´ÊÓïÊǹ»³éÏóµÄ£¬¼òµ¥µØ˵£¬Ëü¾ÍÊǽ«ÄÇЩÓëÒµÎñÎ޹أ¬È´ÎªÒµÎñÄ£¿éËù¹²Í¬µ÷ÓõÄÂß¼­»òÔðÈΣ¬ÀýÈçÊÂÎñ´¦Àí¡¢ÈÕÖ¾¹ÜÀí¡¢È¨ÏÞ¿ØÖƵȣ¬·â×°ÆðÀ´£¬±ãÓÚ¼õÉÙϵͳµÄÖظ´´úÂ룬½µµÍÄ£¿é¼äµÄñîºÏ¶È£¬²¢ÓÐÀûÓÚδÀ´µÄ¿É²Ù×÷ÐԺͿÉά»¤ÐÔ¡£


¶ÔÓÚOOP£¬Bruce EckelÓÐÒ»¾äÃûÑÔ£¬¡°Everything is Object.¡±È·Êµ£¬ÔÚ³ÌÐòµÄÊÀ½çÀÎÒÃÇ¿ÉÒÔ½«ÍòÊÂÍòÎﶨÒåΪһÖÖ¶ÔÏ󣬲¢½«ÕâЩ¶ÔÏóµÄÐÐΪºÍÊôÐÔ·â×°ÆðÀ´£¬Í¬Ê±¶¨ÒåºÃ¶ÔÏóÓë¶ÔÏóÖ®¼äµÄ¹Øϵ¡£ºÜÏÔÈ»£¬¶ÔÓÚAOP¶øÑÔ£¬ÎÒÃÇÎÞ·¨Ì×ÓÃÕâ¾äÃûÑÔ£¬ÍýÑÔ¡°Everything is Aspect.¡±ÊµÖÊÉÏ£¬AOPÖ»ÊÇOOPµÄÒ»ÖÖ²¹³ä»òijÖָĽø£¬Ëüת»»Á˱à³ÌµÄ·¶Ê½ºÍÊӽǣ¬¹Ø×¢ÁËÒ»Ö±ÒÔÀ´±»OOPºöÂÔ»òÕß˵δÄܽâ¾öºÃµÄ½ÇÂ䣬ʹ¿ª·¢ÈËÔ±¿ÉÒÔ¸üºÃµØ½«±¾²»¸Ã±Ë´Ë¾À²øÔÚÒ»ÆðµÄÔðÈΣ¨ÈçÒøÐÐÒµÎñºÍÊÂÎñ´¦Àí£©·ÖÀ뿪À´¡£Í¨¹ýÃæÏò·½ÃæµÄ±à³Ì£¬¿ÉÒÔ½«³ÌÐòµÄÔðÈηֿª£¬¶ÔÏóÓë·½Ã滥²»¸ÉÈÅ¡£ÃæÏò·½ÃæµÄÄ£¿é²¢·ÇÏÔʽµØΪ¶ÔÏóËùµ÷Ó㬶øÊÇͨ¹ý»ò×¢Èë»ò½ØÈ¡µÄ·½Ê½£¬È¥»ñµÃ±»·â×°µÄ¶ÔÏóÄÚ²¿·½·¨¼äµÄÏûÏ¢£¬È»ºó×ö³öÏàÓ¦µØ´¦Àí¡£Ò²ÐíÃæÏò·½ÃæµÄģʽÆÆ»µÁ˶ÔÏóµÄ·â×°£¬È´ÕýÆäÈç´Ë£¬·½²ÅÄܽµµÍÄ£¿éÓëÄ£¿éÖ®¼äµÄñîºÏ¶È¡£Í¬ÑùµØ£¬Í¨¹ý¶Ô¡°·½Ã桱µÄ·â×°£¬½«ÕâЩͨÓõŦÄÜ´Ó²»Í¬µÄÀàÖзÖÀë³öÀ´£¬Ê¹²»Í¬µÄÄ£¿é¶¼Äܹ²ÏíͬÑùµÄ¡°·½Ã桱£¬ÕâÒ²¼«´óµØ¼õÉÙÁËÖظ´´úÂë¡£


Èç¹û˵¡°¶ÔÏó¡±ÊÇÒ»¸ö¿ÕÐĵÄÔ²ÖùÌ壬ÆäÖзâ×°µÄÊǶÔÏóµÄÊôÐÔºÍÐÐΪ£»ÄÇôÃæÏò·½Ãæ±à³ÌµÄ·½·¨£¬¾Í·Â·ðÒ»°ÑÀûÈУ¬½«ÕâЩ¿ÕÐÄÔ²ÖùÌåÆÊ¿ª£¬ÒÔ»ñµÃÆäÄÚ²¿µÄÏûÏ¢¡£¶øÆÊ¿ªµÄÇÐÃ棬Ҳ¾ÍÊÇËùνµÄ¡°·½Ã桱ÁË¡£È»ºóËüÓÖÒÔÇɶáÌ칦µÄÃîÊÖ½«ÕâЩÆÊ¿ªµÄÇÐÃ渴ԭ£¬²»ÁôºÛ¼£¡£


AOP£¬²¢²»¾ßÓиïÃüµÄÇý¶¯Á¦


¸öÈËÈÏΪ£¬AOP»¹Ì¸²»ÉÏÊÇÒ»ÖÖ±à³ÌµÄ˼Ï룬ֻÄÜ˵ÊÇÒ»ÖÖ·½·¨¶øÒÑ¡£ËÝÆä¸ùÔ´£¬Ò»°ãÈÏΪ£¬ÃæÏò·½Ãæ±à³Ì£¨AOP£©ÊÇÊ©ÀÖ¹«Ë¾ÅÁÂå°¢¶ûÍÐÑо¿ÖÐÐÄ£¨Xerox PARC£©ÔÚÉÏÊÀ¼Í90Äê´ú·¢Ã÷µÄÒ»ÖÖ±à³Ì·¶Ê½¡£ËüÔÚOOPµÄ·ì϶֮ÖУ¬³éÏó³ö¡°·½Ã桱µÄ¸ÅÄĿµÄ¾ÍÊÇΪÁË´òÆƶÔÏóµÄ·â×°ÐÔ£¬ÒÔ¡°·½Ã桱µÄ·½Ê½¶ÔÔ­ÓеÄÄ£¿é½øÐÐÖØ×飬³éÈ¡ÄÇЩÓëÒµÎñÎÞ¹ØȴΪÕû¸öϵͳËùͨÓõŦÄÜ£¬×îÖÕ·â×°ÔÚÒ»Æð¡£


ÄÇô£¬×îÖÕ·â×°ºÃµÄÕâЩËùν¡°·½Ã桱£¬ÈçºÎ±»ÒµÎñ¶ÔÏóËùµ÷ÓÃÄØ£¿Õâ¾ÍÐèÒª¡°·½Ã桱ӵÓнØÈ¡·â×°¶ÔÏóÏûÏ¢µÄÄÜÁ¦¡£ÔÚJAVAÊÀ½çÀAOPµÄÓ¦ÓÃÒѾ­×ßÏò±È½Ï³ÉÊìµÄÓ¦Óá£AspectJ¡¢Spring£¬ÔÚÌåÏÖAOPÄÜÁ¦ÉÏÀ´Ëµ£¬ÒѾ­½¥Ç÷³ÉÊì¡£ÉõÖÁÔÚJBOSS4.0ÖУ¬ÒѾ­ÒýÈëÁËAOP¿ò¼Ü½øÐпª·¢£¬²¢ÔÚȨÏÞ¹ÜÀí£¨Authentication£©¡¢´íÎó´¦Àí£¨Error Handling£©¡¢ÊÂÎñ´¦Àí£¨Transactions£©¡¢³Ö¾Ã»¯£¨Persistence£©µÈ·½ÃæÈ¡µÃÁ˺ܺõÄÓ¦Óá£ÔÚ.Netƽ̨Ï£¬¶ÔÓÚAOPµÄÓ¦ÓÃËƺõÈ´×ßµ½Á˺óÃæ¡£ÔÚMicrosoft ÍƳöµÄ.Net Framework 1.1ÖУ¬²¢Ã»ÓÐÓ¦ÓÃAOP£¬Ò²Î´ÔøÌṩAOPµÄ¿ò¼Ü¡£²»¹ý.Net FrameworkÈÔÈ»ÌṩÁËʵÏÖAOPµÄ¼¼Êõ¿ÉÄÜ£¬¼´Í¨¹ý.Net FrameworkµÄ·´Éä»úÖÆ»ò.Net RemotingµÄ´úÀí»úÖÆ»ñÈ¡ÔªÊý¾ÝÐÅÏ¢»ò¶ÔÏóÄÚ²¿¼ä´«µÝµÄÏûÏ¢¡£Í¬Ê±£¬ÎÒÒ²¿´µ½¿ªÔ´ÉçÇøÖеÄAOP.NetÏîÄ¿£¬²ÉÓÃÁË·ÇÍйܵÄ.Net Profilling API£¬Ëü²ÉÓÃÁË·ÇÍйܵÄC++ COM×é¼þ£¬¿ÉÒÔÔÚÏà¹Øʼþ·¢Éúʱ£¬Í¨¹ý.Netϵͳ²¶»ñÆäÏûÏ¢²¢·¢ËÍ֪ͨ¡£


AOPÔÚÆóÒµÓ¦ÓÃÖÐÕýÖð½¥ÌåÏÖÆä×ÔÉíµÄ¼ÛÖµ¡£µ«ÕýÈçÆäÃû£¬ËüµÄ×÷Óøü¶àµØÊǹØ×¢ÓÚϵͳµÄijһ·½Ãæ¡£AOP»¹È±·¦¸ïÃüµÄÇý¶¯Á¦£¬²¢²»×ãÒԵ߸²OOPÊÀ½ç¡£ÎÒÃDz»¿ÉÄÜÔ¤¼ûAOPÖ®ÓÚOOP£¬Ïóµ±³õÃæÏò¶ÔÏó±à³ÌÈ¡´úÃæÏò¹ý³Ì±à³ÌÄÇÑù£¬¾ßÓÐÇ¿´óÖÁ¿ÉÒԵ߸²³ÌÐòԱ˼ÏëµÄÁ¦Á¿¡£¶øÊÂʵÉÏ£¬AOP´ÓÒ»µ®ÉúÒÔÀ´£¬¾Í´ÓδÌùÉÏ¡°¸ïÃü¡±µÄ±êÇ©¡£Ïà·´£¬Ëü¸ü¶àµØÆðµ½ÁËÍƲ¨ÖúÀ½µÄ×÷Óã¬ÃÖ²¹×ÅOOPµÄȱʧ£¬½ø¶øÔÚOO³ÌÐòÉè¼ÆÖУ¬À©Õ¹ÁËÒ»ÖÖ¸ü¿í¹ãµÄģʽ¡£


AOP£¬¡°Éè¼Æģʽ¡±µÄÑÓÐø


²»´í£¬AOPµÄÄ¿µÄ£¬Ç¡Ç¡¾ÍÊÇ×öÁË¡°Éè¼Æģʽ¡±Ïë×öȴһֱδÔø×öµ½µÄ¹¦ÄÜ¡£GOFµÄ¡°Éè¼Æģʽ¡±¸øÁËÎÒÃÇÉè¼ÆµÄµä·¶Óë×¼Ôò£¬Í¨¹ý×î´ó³Ì¶ÈµÄÀûÓÃÃæÏò¶ÔÏóµÄÌØÐÔ£¬ÖîÈçÀûÓü̳С¢¶à̬£¬¶ÔÔðÈνøÐзÖÀë¡¢¶ÔÒÀÀµ½øÐе¹Öã¬ÃæÏò³éÏó£¬ÃæÏò½Ó¿Ú£¬×îÖÕÉè¼Æ³öÁé»î¡¢¿ÉÀ©Õ¹¡¢¿ÉÖØÓõÄÀà¿â¡¢×é¼þ£¬ÄËÖÁÓÚÕû¸öϵͳµÄ¼Ü¹¹¡£ÔÚÉè¼ÆµÄ¹ý³ÌÖУ¬Í¨¹ý¸÷ÖÖģʽÌåÏÖÁ˶ÔÏóµÄÐÐΪ£¬±©Â¶µÄ½Ó¿Ú£¬¶ÔÏó¼ä¹Øϵ£¬ÒÔ¼°¶ÔÏó·Ö±ðÔÚ²»Í¬²ã´ÎÖбíÏÖ³öÀ´µÄÐÎ̬¡£È»¶ø¼øÓÚ¶ÔÏó·â×°µÄÌØÊâÐÔ£¬¡°Éè¼Æģʽ¡±µÄ´¥½ÇʼÖÕÔÚ½Ó¿ÚÓë³éÏóÖдó×öÎÄÕ£¬¶ø¶ÔÓÚ¶ÔÏóÄÚ²¿ÔòÎÞÄÜΪÁ¦¡£


¾ÙÀýÀ´Ëµ£¬ÎÒÃÇÐèҪΪϵͳÌṩÈÕÖ¾µÄÄÜÁ¦¡£ËäÈ»ÎÒÃÇ¿ÉÒÔͨ¹ý×°ÊÎģʽ£¨Decorate Pattern£©£¬Ìṩ¸÷ÖÖÈÕÖ¾µÄ×éºÏ£¬µ«²»¿É±ÜÃâµÄÊÇ£¬´óÁ¿µÄÈÕÖ¾¶ÔÏóʵÀý´úÂëµÄ´æÔÚ£¬µ¼ÖÂÁËÖظ´´úÂëµÄ»µÎ¶µÀ£¬Í¬Ê±Ò²µ¼ÖÂÁËÇ¿ÒÀÀµÐÔ£¬Õâ²¢²»ÀûÓÚÄ£¿é¼äµÄ½âñî¡£Èç¹ûÎÒÃÇͨ¹ýAOP£¬½«ÕâЩÈÕÖ¾µÄ¹¦ÄÜ¿´×÷ÊÇÒ»¸ö¡°·½Ã桱£¬È»ºó½«ÏµÍ³ÖÐÐèÒªÈÕÖ¾ÄÜÁ¦µÄÄ£¿éÖÃÓڸá°·½Ã桱µÄÕìÌýÖ®ÖУ¬³éÏó³öÀ´µÄ¡°·½Ã桱ºÃÏñÊÇÒ»¸öÈÝÆ÷£¬ÔÚÆäÄÚ²¿µÄÊÀ½çÀ²»·Öƶ¸»¹ó¼ú¡£Ö»ÒªÖ´ÐÐÁËijÖÖÒµÎñ£¬Õâ¸öÈÝÆ÷¾Í»áÖÒʵµØ¼Ç¼ÕâЩģ¿é¼ä´«µÝµÄÏûÏ¢¡£ÖÁÓÚÕâЩģ¿éµ½µ×ʵÏÖÁ˺ÎÖÖÒµÎñ£¬È´²¢·Ç¡°·½Ã桱Ëù¹Ø×¢µÄ¡£


Ç°ÃæÒѾ­ÐðÊöµ½£¬ÃæÏò·½Ãæ±à³ÌµÄ¼ÛÖµÖ÷ÒªÌåÏÖÔÚÊÂÎñ´¦Àí¡¢ÈÕÖ¾¹ÜÀí¡¢È¨ÏÞ¿ØÖƵÈÓëÒµÎñÎ޹أ¬È´ÎªÒµÎñÄ£¿éËù¹²Í¬µ÷ÓõÄÂß¼­»òÔðÈÎÉÏ£¬¶øÕâЩËùνµÄ¡°·½Ã桱£¬Ç¡Ç¡ÊÇÆóÒµÓ¦ÓÃʱ·Ç³£±ØÐëµÄ¡£Òò´Ë£¬ÓëÆä˵AOPÊÇÒ»ÖÖ±à³ÌµÄ¼¼Êõ£¬ÎãÄþ˵AOPÊÇÒ»ÖÖÆóÒµµÄ¡°Éè¼Æģʽ¡±¡£ËüÃÖ²¹ÁËOOPÖ®×¾£¬È´Î´ÔøÒ²²»¿ÉÄܳ¬Ô½OOP¶øµ¥¶À´æÔÚ¡£


Aspect-Oriented Programming£¨ÃæÏò·½Ãæ±à³Ì£¬AOP£©ÕýºÃ¿ÉÒÔ½â¾öÕâÒ»ÎÊÌâ¡£ËüÔÊÐí¿ª·¢Õ߶¯Ì¬µØÐ޸ľ²Ì¬µÄOOÄ£ÐÍ£¬¹¹Ôì³öÒ»¸öÄܹ»²»¶ÏÔö³¤ÒÔÂú×ãÐÂÔöÐèÇóµÄϵͳ£¬¾ÍÏóÏÖʵÊÀ½çÖеĶÔÏó»áÔÚÆäÉúÃüÖÜÆÚÖв»¶Ï¸Ä±ä×ÔÉí£¬Ó¦ÓóÌÐòÒ²¿ÉÒÔÔÚ·¢Õ¹ÖÐÓµÓÐÐµĹ¦ÄÜ¡£AOPÀûÓÃÒ»ÖÖ³ÆΪ¡°ºáÇС±µÄ¼¼Êõ£¬Æʽ⿪·â×°µÄ¶ÔÏóÄÚ²¿£¬²¢½«ÄÇЩӰÏìÁ˶à¸öÀàµÄÐÐΪ·â×°µ½Ò»¸ö¿ÉÖØÓÃÄ£¿é£¬²¢½«ÆäÃûΪ¡°Aspect¡±£¬¼´·½Ãæ¡£Ëùν¡°·½Ã桱£¬¼òµ¥µØ˵£¬¾ÍÊǽ«ÄÇЩÓëÒµÎñÎ޹أ¬È´ÎªÒµÎñÄ£¿éËù¹²Í¬µ÷ÓõÄÂß¼­»òÔðÈΣ¬ÀýÈçÊÂÎñ´¦Àí¡¢ÈÕÖ¾¹ÜÀí¡¢È¨ÏÞ¿ØÖƵȣ¬·â×°ÆðÀ´£¬±ãÓÚ¼õÉÙϵͳµÄÖظ´´úÂ룬½µµÍÄ£¿é¼äµÄñîºÏ¶È£¬²¢ÓÐÀûÓÚδÀ´µÄ¿É²Ù×÷ÐԺͿÉά»¤ÐÔ¡£


ÃæÏò·½Ãæ±à³Ì£¨AOP£©ÊÇÊ©ÀÖ¹«Ë¾ÅÁÂå°¢¶ûÍÐÑо¿ÖÐÐÄ£¨Xerox PARC£©ÔÚÉÏÊÀ¼Í90Äê´ú·¢Ã÷µÄÒ»ÖÖ±à³Ì·¶Ê½¡£µ«ÕæÕýµÄ·¢Õ¹È´ÐËÆðÓÚ½ü¼¸Äê¶ÔÈí¼þÉè¼Æ·½ÐËδ°¬µÄÑо¿¡£ÓÉÓÚÈí¼þϵͳԽÀ´Ô½¸´ÔÓ£¬´óÐ͵ÄÆóÒµ¼¶Ó¦ÓÃÔ½À´Ô½ÐèÒªÈËÃǽ«ºËÐÄÒµÎñÓ빫¹²ÒµÎñ·ÖÀë¡£AOP¼¼ÊõÕýÊÇͨ¹ý±àдºáÇйØ×¢µãµÄ´úÂ룬¼´¡°·½Ã桱£¬·ÖÀë³öͨÓõķþÎñÒÔÐγÉͳһµÄ¹¦Äܼܹ¹¡£ËüÄܹ»½«Ó¦ÓóÌÐòÖеÄÉÌÒµÂß¼­Í¬¶ÔÆäÌṩ֧³ÖµÄͨÓ÷þÎñ½øÐзÖÀ룬ʹµÃ¿ª·¢ÈËÔ±´ÓÖظ´½â¾öͨÓ÷þÎñµÄÀͶ¯ÖнâÍѳöÀ´£¬¶ø½öרעÓÚÆóÒµµÄºËÐÄÉÌÒµÂß¼­¡£Òò´Ë£¬AOP¼¼ÊõÒ²¾ÍÊܵ½Ô½À´Ô½¶àµÄ¹Ø×¢£¬¶øÓ¦ÓÃÓÚ¸÷ÖÖƽ̨ϵÄAOP¼¼ÊõÒ²Ó¦Ô˶øÉú¡£µ«ÓÉÓÚAOP¼¼ÊõÏà¶ÔÓÚ³ÉÊìµÄOOP¼¼Êõ¶øÑÔ£¬ÔÚÐÔÄÜ¡¢Îȶ¨ÐÔ¡¢ÊÊÓÃÐԵȷ½Ã滹ÓÐ

Ê×Ò³ ÉÏÒ»Ò³ 1 2 ÏÂÒ»Ò³ βҳ 1/2/2
¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
ÉÏһƪ£º²©¿ËÈí¼þ£¨º¼ÖÝ£©ÓÐÏÞ¹«Ë¾JavaÈí.. ÏÂһƪ£ºÎÒµÄÃæÊÔ¾­Àú1-ÉîÐÅ·þ+ÌÚѶ1Ãæ

×îÐÂÎÄÕÂ

ÈÈÃÅÎÄÕÂ

Hot ÎÄÕÂ

Python

C ÓïÑÔ

C++»ù´¡

´óÊý¾Ý»ù´¡

linux±à³Ì»ù´¡

C/C++ÃæÊÔÌâÄ¿