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

TOP

DisigenPatternÉè¼Æģʽ
2014-11-24 01:15:22 ¡¾´ó ÖРС¡¿ ä¯ÀÀ:1801´Î
Tags£ºDisigenPattern Éè¼Æģʽ

ÃæÏò¶ÔÏóÉè¼ÆÔ­Ôò£º
¿ª±ÕÔ­Ôò£ºSoftware entities should be open for extension, but closed for modification.Ä£¿éÓ¦¶ÔÀ©Õ¹¿ª·Å£¬¶ø¶ÔÐ޸Ĺرա£ÀýÈçÄ£°åTemplate
ÀïÊÏ´ú»»Ô­Ôò£ºÈκλùÀà¿ÉÒÔ³öÏֵĵط½£¬×ÓÀàÒ»¶¨¿ÉÒÔ³öÏÖ¡£Æäʵ¾ÍÊǸ¸ÀàÓиöpublic·½·¨£¬×ÓÀ಻ÄܸijÉprivate»òÕßprotected£¬½µµÍ·ÃÎÊÐÞÊηûµÄ·¶Î§¡£
ºÏ³É¸´ÓÃÔ­Ôò£ºÉÙÓü̳У¬¶àÓø´Óá£
ÒÀÀµµ¹×ªÔ­Ôò£º³éÏó²»Ó¦¸ÃÒÀÀµÓÚϸ½Ú£¬Ï¸½ÚÓ¦µ±ÒÀÀµÓÚ³éÏó¡£ÒªÕë¶Ô½Ó¿Ú±à³Ì£¬¶ø²»ÊÇÕë¶ÔʵÏÖ±à³Ì¡£·½·¨²ÎÊý×ÊǽӿڻòÕß³éÏóÀà±ãÓÚÀ©Õ¹¡£
½Ó¿Ú¸ôÀëÔ­Ôò£º½Ó¿Ú×öÇÒÖ»×ö¸Ã×öµÄÊ¡£
µÏÃ×ÌØ·¨Ôò£º×îÉÙ֪ʶԭÔòLeast Knowledge Principle£¬talk only to your immediate friends²»ÒªºÍÄ°ÉúÈË˵»°¡£Æäʵ¾ÍÊǾ¡Á¿·â±ÕÀ࣬ÄÜÓÃprivate²»ÓÃpublic£¬¾¡Á¿²ÉÓÃfinal¡£
´´½¨ÐÍCreational:
Factory Method¹¤³§·½·¨£ºÔÚ¹¤³§·½·¨ÀïÃænew£¬ÀýÈçjavaÓкܶàÀàÌṩÁËgetInstance·½·¨
Abstract Factory³éÏ󹤳§£ºÓ빤³§·½·¨µÄÇø±ð£º·µ»ØµÄ²»ÊǾßÌåÀàÒýÓ㬶øÊǽӿڻòÕß³éÏóÀàÒýÓ㬴˹¤³§·½·¨¿ÉÒÔ±»¼Ì³ÐʵÏֳɾßÌå¶ÔÏóµÄ¶à¸ö¹¤³§·½·¨
PrototypeÔ­ÐÍ£ºÔÚjavaÖоÍÊÇObjectµÄclone()·½·¨
Builder½¨ÔìÕߣºÆäʵ¾ÍÊǸ´ÔÓ¶ÔÏóµÄ´´½¨·½·¨£¬·ÖÄ£¿é´´½¨ÊÇΪbuilder
Singletonµ¥Àý£ºprivate¹¹Ôì·½·¨£¬³ÌÐòÖÐÖ»ÄܳöÏÖÒ»¸ö¶ÔÏó
½á¹¹ÐÍStructual
FacadeÃÅÃ棺Æäʵ¾ÍÊÇΪ¶à¸öÀàËƵķþÎñ³éÏó³öÏàͬµÄ½Ó¿Ú¹©µ÷Óã¬ÊÇÌṩ·þÎñµÄ¹¤³§
Proxy´úÀí£º¼òµ¥À´Ëµ¾ÍÊǽ赶ɱÈË
AdapterÊÊÅäÆ÷£ºÓë´úÀíÓÐЩÀàËÆ£¬´úÀíÊÇ´úÀíÓë±»´úÀíÁ½¸ö¶¼ÊµÏÖͬһ½Ó¿Ú£¬¶øÊÊÅäÔòûÓй²Í¬½Ó¿Ú£¬ÍêÈ«Êǵ÷ÓÃÒ»¸ö²»Ïà¸ÉµÄÀàµÄ·½·¨ÊµÏÖ
Composite×éºÏ£ºÊ÷Ðνṹ
Decorator×°ÊÎÕߣºJavaµÄÁ÷ʵÏÖ£¬Ò»²ã²ã°ü¹ü
BridgeÇŽӣºÅÅÁÐ×éºÏ
FlyweightÇáÁ¿¼¶£ºÎªÁ˽ÚÊ¡¿Õ¼äÓõģ¬ÀýÈçxmlÖÐÏàͬµÄ½Úµã£¬oracleÖÐѹËõ±í£¬Í¬Ò»×Ö¶ÎÖÐÏàͬµÄÖµ±»Ñ¹Ëõ³ÉÁ´½Ó
ÐÐΪÐÍBehavior
Template MethodÄ£°å·½·¨£ºservletµÄÉè¼Æ£¬init£¬service£¬destroy£¬ÕâЩÊDZ»webcontainerµ÷Óõģ¬ÔÚwebcontainerµÄÕû¸öÁ÷³ÌÖл¹ÓÐÆäËûһЩÏàͬµÄ´¦ÀíÁ÷³Ì
Memento¼ÍÄîÆ·£¨±¸Íü¼£©£º¾ÍÊǼÇס¶ÔÏóµÄ³õʼ״̬£¬·½±ã»Ö¸´
Observer¹Û²ìÕߣºÔÚJavaÖÐÓнӿÚjava.util.Observer(update)ºÍÀàjava.util.Observable(addObserver,notifyObservers)
Chain of ResponsibilityÔðÈÎÁ´£º»÷¹Ä´«»¨£¬µü´úÒ²ÊÇÔðÈÎÁ´£¬²»¹ýÔðÈÎÁ´É϶¼ÊÇ×Ô¼º£¬×îÖÕµ½ÖÕÖ¹Ìõ¼þÔÙÒÀ´Î·µ»Øµ÷ÓÃ
CommandÃüÁ¾ÍÊǽ«ÇëÇó°ü×°³É¶ÔÏó´«×ö²ÎÊý£¬Ãû³ÆºÜÐÎÏ󣬾ÍÊÇÏÂÊ¥Ö¼£¬Òª×öµÄÊÂÇ鶼ÔÚÊ¥Ö¼ÀïÃæдÁË¡£Ê¥Ö¼¾ÍÊÇÃüÁîµÄ¶ÔÏó£¬×÷Ϊ²ÎÊý´«¸øÖ´ÐÐÈË¡£×Բðɣ¬°®Çä¡£
State״̬£º±äÐνð¸Õ£¬Æû³µÄ£Ê½Óëսʿģʽ£¬Á½ÖÖģʽÐж¯ÊDz»Ò»ÑùµÄ£¬Æû³µÊÇÂÖ×ÓÅÜ£¬Õ½Ê¿Ä£Ê½¾Í±Ä´ïÁË
Strategy²ßÂÔ£ºÆäʵ¾ÍÊÇÔÚ½Ó¿ÚÀïÃ涨Òå·½·¨£¬¸÷¸öʵÏÖÀà¸÷×ÔÌṩһÌ×ʵÏÖ
Mediatorµ÷Í£Õß(ÖнéÕß)£º·¿²úÖн飬²»¶à˵¡£
Interpreter½âÊÍÆ÷£º±àÒëÆ÷£¬½âÊÍÓïÑÔ»òÕßÃüÁÀýÈçxml½âÎö
Visitor·ÃÎÊÕߣº¾ÍÊÇ°ÑÓÐЩҵÎñÂß¼­²»ÊôÓÚ¾ßÌåÀ࣬°ÑËüÌáÈ¡µ½·ÃÎÊÕßÀàÀïÃæÈ¥£¬ÕâÑùµ÷Ó÷ÃÎÊÕßÀàµÄ·½·¨¼´¿É¶ÔÆäËûµÄÀà½øÐвÙ×÷£¬ÀàËÆÓÚ´úÀí
Iteraterµü´úÆ÷£ºIterator½Ó¿Ú
Éè¼ÆģʽÐèÒªÔÚÊʵ±µÄʱºòÓ㬲»¹ý×îºÃÊÇŪÇå³þ£¬±Ï¾¹ÏÖÔÚÃæÊÔ¶¼Ï²»¶ÎÊÕâ¸ö¡£


¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
ÉÏһƪ£ºÌ©ÀÖͨѶ¼¼Êõ£¨ÉϺ££©ÓÐÏÞ¹«Ë¾ÃæÊÔ ÏÂһƪ£ºOOPÓïÑÔ¼¼Êõ±È½Ï£ºJava£¬C++£¬Obj..

×îÐÂÎÄÕÂ

ÈÈÃÅÎÄÕÂ

Hot ÎÄÕÂ

Python

C ÓïÑÔ

C++»ù´¡

´óÊý¾Ý»ù´¡

linux±à³Ì»ù´¡

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