±à¼ÍƼö: |
±¾ÎÄÖ÷Òª½éÉÜÁË
ÕûÀí³£ÓÃÉè¼ÆÄ£Ê½µÄÀàͼ,¾ßÌåÈçÏ¡£
±¾ÎÄÀ´×ÔÓÚ²©¿ÍÔ°£¬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼¡¢ÍƼö¡£ |
|
Ò»¡¢´´½¨ÐÍ
1.Factory Method£¨¹¤³§·½·¨£©
¶¨Ò壺¶¨ÒåÁËÒ»¸ö´´½¨¶ÔÏóµÄ½Ó¿Ú£¬µ«ÓÉ×ÓÀà¾ö¶¨ÒªÊµÀý»¯µÄÀàÊÇÄÄÒ»¸ö¡£¹¤³§·½·¨ÈÃÀà°ÑʵÀý»¯ÍƳٵ½×ÓÀà¡£
Ààͼ£º

2.Abstract Factory£¨³éÏ󹤳§£©
¶¨Ò壺Ìṩһ¸ö½Ó¿Ú£¬ÓÃÓÚ´´½¨Ïà¹Ø»òÒÀÀµ¶ÔÏóµÄ¼Ò×壬¶ø²»ÐèÒªÃ÷È·Ö¸¶¨¾ßÌåÀà¡£
Ààͼ£º

3.Builder£¨Éú³ÉÆ÷ģʽ£©
¶¨Ò壺½«Ò»¸ö¸´ÔÓ¶ÔÏóµÄ¹¹½¨ÓëËüµÄ±íʾ·ÖÀ룬ʹµÃͬÑùµÄ¹¹½¨¹ý³Ì¿ÉÒÔ´´½¨²»Í¬µÄ±íʾ¡£
Ààͼ£º

4.Prototype£¨ÔÐÍģʽ£©
¶¨Ò壺ÓÃÔÐÍʵÀýÖ¸¶¨´´½¨¶ÔÏóµÄÖÖÀ࣬²¢ÇÒͨ¹ý¿½±´ÕâЩÔÐÍ´´½¨ÐµĶÔÏó¡£
Ààͼ£º

5.Singleton£¨µ¥¼þģʽ£©
¶¨Ò壺ȷ±£Ò»¸öÀàÖ»ÓÐÒ»¸öʵÀý£¬²¢Ìṩȫ¾Ö·ÃÎʵ㡣
Ààͼ£º

´úÂ룺
public class
Singleton
{
private volatile static Singleton uniqueInstance;
private static object singletonData = new Object();
private Singleton()
{ }
public static Singleton GetInstance()
{
if (uniqueInstance == null)
{
lock (singletonData)
{
if (uniqueInstance == null)
{
uniqueInstance = new Singleton();
}
}
}
return uniqueInstance;
}
} |
¶þ¡¢½á¹¹ÐÔ
1.Adapter£¨ÊÊÅäÆ÷ģʽ£¨Àà¡¢¶ÔÏ󣩣©
¶¨Ò壺½«Ò»¸öÀàµÄ½Ó¿Úת»»³É¿Í»§ÆÚÍûµÄÁíÒ»¸ö½Ó¿Ú¡£ÊÊÅäÆ÷ÈÃÔ±¾½Ó¿Ú²»¼æÈݵÄÀà¿ÉÒÔºÏ×÷Î޼䡣
Ààͼ£º

2.Bridge£¨ÇÅÁ¬Ä£Ê½£©
¶¨Ò壺½«³éÏ󲿷ÖÓëËüµÄʵÏÖ²¿·Ö·ÖÀ룬ʹËüÃǶ¼¿ÉÒÔ¶ÀÁ¢µØ±ä»¯¡£
Ààͼ£º

3. Composite£¨×éºÏģʽ£©
¶¨Ò壺½«¶ÔÏó×éºÏ³ÉÊ÷ÐνṹÒÔ±íʾ¡°²¿·Ö-ÕûÌ塱µÄ²ã´Î½á¹¹¡£CompositeʹµÃÓû§¶Ôµ¥¸ö¶ÔÏóºÍ×éºÏ¶ÔÏóµÄʹÓþßÓÐÒ»ÖÂÐÔ¡£
Ààͼ£º
4. Decorator£¨×°ÊÎģʽ£©
¶¨Ò壺¶¯Ì¬µØ¸øÒ»¸ö¶ÔÏóÌí¼ÓһЩ¶îÍâµÄÖ°Ôð¡£¾ÍÔö¼Ó¹¦ÄÜÀ´Ëµ£¬DecoratorģʽÏà±ÈÉú³É×ÓÀà¸ü¼ÓÁé»î¡£
Ààͼ£º

4.Facade£¨Íâ¹Ûģʽ£©
¶¨Ò壺Ϊ×ÓϵͳÖеÄÒ»×é½Ó¿ÚÌṩһ¸öÒ»ÖµĽçÃæ£¬Facadeģʽ¶¨ÒåÁËÒ»¸ö¸ß¼¶½Ó¿Ú£¬Õâ¸ö½Ó¿ÚʹµÃÕâÒ»×Óϵͳ¸ü¼ÓÈÝÒ×ʹÓá£
Ààͼ£º

5. Flyweight£¨ÏíԪģʽ£©
¶¨Ò壺ÔËÓù²Ïí¼¼ÊõÓÐЧµØÖ§³Ö´óÁ¿Ï¸Á£¶ÈµÄ¶ÔÏó¡£
Ààͼ£º

6. Proxy£¨´úÀíģʽ£©
¶¨Ò壺ΪÆäËû¶ÔÏóÌṩһÖÖ´úÀíÒÔ¿ØÖƶÔÕâ¸ö¶ÔÏóµÄ·ÃÎÊ¡£
Ààͼ£º

Èý¡¢ÐÐΪÐÍ
1.Interpreter£¨½âÊÍÆ÷ģʽ£©
¶¨Ò壺¸ø¶¨Ò»¸öÓïÑÔ£¬¶¨ÒåËüµÄÒ»ÖÖ±íʾ£¬²¢¶¨ÒåÒ»¸ö½âÊÍÆ÷£¬Õâ¸ö½âÊÍÆ÷ʹÓøñíʾÀ´½âÊÍÓïÑÔÖеľä×Ó¡£
Ààͼ£º

2.Template Method£¨Ä£°å·½·¨£©
¶¨Ò壺¶¨ÒåÒ»¸ö²Ù×÷ÖеÄËã·¨µÄ¹Ç¼Ü£¬¶ø½«Ò»Ð©²½ÖèÑÓ³Ùµ½×ÓÀàÖС£TemplateMethodʹµÃ×ÓÀà¿ÉÒÔ²»¸Ä±äÒ»¸öËã·¨µÄ½á¹¹¼´¿ÉÖØ¶¨Òå¸ÃËã·¨µÄÄ³Ð©ÌØ¶¨²½Öè¡£
Ààͼ£º

3.Chain of Responsibility£¨Ö°ÔðÁ´Ä£Ê½£©
¶¨Ò壺ʹ¶à¸ö¶ÔÏó¶¼Óлú»á´¦ÀíÇëÇ󣬴Ӷø±ÜÃâÇëÇóµÄ·¢ËÍÕߺͽÓÊÜÕßÖ®¼äµÄñîºÏ¹ØÏµ¡£½«ÕâЩ¶ÔÏóÁ¬³ÉÒ»ÌõÁ´£¬²¢ÑØ×ÅÕâÌõÁ´´«µÝ¸ÃÇëÇó£¬Ö±µ½ÓÐÒ»¸ö¶ÔÏó´¦ÀíËüΪֹ¡£
Ààͼ£º

4.Command£¨ÃüÁîģʽ£©
¶¨Ò壺½«Ò»¸öÇëÇó·âװΪһ¸ö¶ÔÏ󣬴ӶøÊ¹Äã¿ÉÓò»Í¬µÄÇëÇó¶Ô¿Í»§½øÐвÎÊý»¯£»¶ÔÇëÇóÅŶӻò¼Ç¼ÇëÇóÈÕÖ¾£¬ÒÔ¼°Ö§³Ö¿É³·ÏúµÄ²Ù×÷¡£
Ààͼ£º

5.Iterator£¨µü´úģʽ£©
¶¨Ò壺ÌṩһÖÖ·½·¨Ë³Ðò·ÃÎÊÒ»¸ö¾ÛºÏ¶ÔÏóÖи÷¸öÔªËØ£¬¶øÓÖ²»Ð豩¶¸Ã¶ÔÏóµÄÄÚ²¿±íʾ¡£
Ààͼ£º

6.Mediator£¨Öнéģʽ£©
¶¨Ò壺ÓÃÒ»¸öÖнé¶ÔÏóÀ´·âװһϵÁеĶÔÏó½»»¥¡£ÖнéÕßʹ¸÷¶ÔÏó²»ÐèÒªÏÔʾµØÏ໥ÒýÓ㬴ӶøÊ¹ÆäñîºÏËÉÉ¢£¬¶øÇÒ¿ÉÒÔ¶ÀÁ¢µØ¸Ä±äËüÃÇÖ®¼äµÄ½»»¥¡£
Ààͼ£º

7.Memento£¨±¸Íü¼ģʽ£©
¶¨Ò壺ÔÚ²»ÆÆ»µ·â×°ÐÔµÄǰÌáÏ£¬²¶»ñÒ»¸ö¶ÔÏóµÄÄÚ²¿×´Ì¬£¬²¢ÔڸöÔÏóÖ®Íâ±£´æÕâ¸ö״̬¡£ÕâÑùÒÔºó¾Í¿É½«¸Ã¶ÔÏó»Ö¸´µ½ÔÏȱ£´æµÄ״̬¡£
Ààͼ£º

8.Observer£¨¹Û²ìÕßģʽ£©
¶¨Ò壺¶¨Òå¶ÔÏó¼äµÄÒ»ÖÖÒ»¶Ô¶àµÄÒÀÀµ¹ØÏµ£¬µ±Ò»¸ö¶ÔÏóµÄ״̬·¢Éú±ä»¯Ê±£¬ËùÓÐÒÀÀµÓÚËüµÄ¶ÔÏ󶼵õ½Í¨Öª²¢±»×Ô¶¯¸üС£
Ààͼ£º

9.State£¨×´Ì¬Ä£Ê½£©
¶¨Ò壺ÔÊÐíÒ»¸ö¶ÔÏóÔÚÆäÄÚ²¿×´Ì¬¸Ä±äʱ¸Ä±äËüµÄÐÐΪ¡£¶ÔÏó¿´ÆðÀ´ËƺõÐÞ¸ÄÁËËüµÄÀà¡£
Ààͼ£º

10.Strategy£¨²ßÂÔģʽ£©
¶¨Ò壺¶¨ÒåһϵÁеÄËã·¨£¬°ÑËüÃÇÒ»¸ö¸ö·â×°ÆðÀ´£¬²¢ÇÒʹËüÃǿɻ¥ÏàÌæ»»¡£±¾Ä£Ê½Ê¹µÃËã·¨¿É¶ÀÁ¢ÓÚʹÓÃËüµÄ¿Í»§¶ø±ä»¯¡£
Ààͼ£º

11.Visitor£¨·ÃÎÊÕßģʽ£©
¶¨Ò壺±íʾһ¸ö×÷ÓÃÓÚij¶ÔÏó½á¹¹Öеĸ÷ÔªËØµÄ²Ù×÷¡£ËüʹÄã¿ÉÒÔÔÚ²»¸Ä±ä¸÷ÔªËØµÄǰÌá϶¨Òå×÷ÓÃÓÚÕâÐ©ÔªËØµÄвÙ×÷¡£
Ààͼ£º

|