HTML5¼¼Êõ

Éè¼Æģʽ£¨1£©µ¥Àýģʽ£¨Singleton£© - Fonour(2)

×ÖºÅ+ ×÷ÕߣºH5Ö®¼Ò À´Ô´£ºH5Ö®¼Ò 2017-04-23 12:00 ÎÒÒªÆÀÂÛ( )

¼òµ¥À´Ëµ¾ÍÊǵ±µÚÒ»¸öÏ̵߳÷ÓÃÅжÏif(dh==null)Ϊtrue£¬ÒѾ­½øÈëÄÚ²¿Í¨¹ýµ÷ÓÃnew½øÐÐʵÀý»¯Ê±£¬ÁíÒ»¸öÏß³ÌÒ²½øÐÐÁËÅжϣ¬¶øÇ¡Ç¡´Ëʱdh»¹Ã»Óб»ÊµÀý»¯Íê³É£¬Í¬ÑùµÚ¶þ¸öÏß³ÌÒ²½øÈëifÅжÏÓï¾äµÄÄÚ²¿£¬½øÐÐdhµÄʵÀý»¯£¬

¼òµ¥À´Ëµ¾ÍÊǵ±µÚÒ»¸öÏ̵߳÷ÓÃÅжÏif(dh==null)Ϊtrue£¬ÒѾ­½øÈëÄÚ²¿Í¨¹ýµ÷ÓÃnew½øÐÐʵÀý»¯Ê±£¬ÁíÒ»¸öÏß³ÌÒ²½øÐÐÁËÅжϣ¬¶øÇ¡Ç¡´Ëʱdh»¹Ã»Óб»ÊµÀý»¯Íê³É£¬Í¬ÑùµÚ¶þ¸öÏß³ÌÒ²½øÈëifÅжÏÓï¾äµÄÄÚ²¿£¬½øÐÐdhµÄʵÀý»¯£¬ÓÚÊǾͳöÏÖÁË2¸öDHÀàµÄʵÀý£¬´ÓÁ½¸ö¼À̳×ß³öÀ´Á½¸ö´ó¶ñħ¡£

½â¾öÕâÒ»ÎÊÌâÒ»°ãÓÐÁ½ÖÖ·½·¨¶öººÊ½µ¥ÀýºÍË«Öؼì²éËø¡£

1.1 ¶öººÊ½µ¥Àý

¶öººÊ½µ¥ÀýÊÇÔÚϵͳ³õʼ»¯Ê±×Ô¶¯Íê³Éµ¥ÀýÀàʵÀýµÄÒ»ÖÖ·½·¨£¬¶ø²»Êǵȵ½ÐèÒªµÄʱºòÔÙ³õʼ»¯£¬Ò²¾ÍÊÇ˵²»¹ÜÒÔºóÄã»á²»»áÓõ½Õâ¸öÀàµÄ¶ÔÏó£¬ÎÒ¶¼»á¸øÄãʵÀý»¯Ò»¸ö³öÀ´£¬ÓÐÒ»ÖÖ¼¢¶öÄÑÄ͵ĸоõÔÚÀïÃ棬¹ÊÃû¶öººÊ½¡£

¶öººÊ½µ¥Àý DH : IHero { DH dh = new DH(); ˽ÓеĹ¹Ô캯Êý£¬Äܹ»±£Ö¤¸ÃÀ಻»áÔÚÍⲿ±»ËæÒâʵÀý»¯£¬ÊDZ£Ö¤¸ÃÀàÖ»ÓÃÒ»¸öʵÀýµÄ»ù±¾Ç°Ìá DH() { } µ÷ÓÃʱֱ½Ó·µ»ØÒѾ­ÊµÀý»¯Íê³ÉµÄ¶ÔÏó DH GetInstance() { return dh; } Ðã³ö×Ô¼ºµÄ¼¼ÄÜ ShowSkills() { Console.WriteLine(); } }

ÕâÖÖ·½·¨¼òµ¥Ö±½ÓµÄ½â¾öÁËḬ̈߳²È«ÎÊÌ⣬µ«ÊÇÓÉÓÚʵÔÚ³õʼ»¯Ê±¾Í½«µ¥ÀýÀà½øÐÐÁËʵÀý»¯£¬Ò»¶¨³Ì¶ÈÉÏÔì³ÉÁ˸÷ÖÖ×ÊÔ´µÄÀË·Ñ£¬Î¥±³ÁËÑÓ³Ù¼ÓÔصÄÉè¼Æ˼Ï룬һ°ãΪÁ˽â¾öµ¥ÀýģʽḬ̈߳²È«ÎÊÌ⣬ͨ³£Ê¹ÓÃË«Öؼì²éËøµÄ·½·¨¡£

1.2 Ë«Öؼì²éËø

Ë«Öؼì²éËøµÄÃüÃû»ùÓÚµ¥Öؼì²éËø·½Ê½¶øÀ´£¬µ¥Öؼì²éËøÊÇÔÚGetInstanceʵÏÖµÄʱºòÏÈÐнøÐÐËø¶¨£¬·ÀÖ¹±ðµÄÏ߳̽øÈ룬´Ó¶ø½â¾öḬ̈߳²È«ÎÊÌâµÄ¡£Ö÷Òª´úÂëÈçÏÂ

lockObject = new object ();

lock (lockObject) { //ÏÈÅжÏdhÊÇ·ñÒѾ­±»ÊµÀý»¯£¬Èôδ±»ÊµÀý»¯£¬ÏÈʵÀý»¯µÃµ½DHÀàµÄʵÀý (dh == null) { dh = new DH(); } } return dh;

ÕâÖÖ·½Ê½Ã¿´Î¶¼Òª½øÐÐlock²Ù×÷£¬Êµ¼ÊÉÏÊÇÒ»ÖÖͬ²½·½Ê½£¬Õ⽫»áÔÚÒ»¶¨³Ì¶ÈÉÏÓ°ÏìϵͳÐÔÄܵÄÆ¿¾±ºÍÔö¼ÓÁ˶îÍâµÄ¿ªÏú¡£ÓÉ´ËÑÜÉú³öÁËË«Öؼì²éËøµÄ·½Ê½£¬¼òµ¥À´Ëµ¾ÍÊÇÏÈÅжÏÒ»´ÎdhÊÇ·ñΪnull£¬Îªnullʱ²Å½øÐÐlock²Ù×÷£¬²»Îªnull¾ÍÖ±½Ó·µ»Ø¡£

¶ñħÁÔÊÖ DH : IHero { DH dh; lockObject = new object (); ˽ÓеĹ¹Ô캯Êý£¬Äܹ»±£Ö¤¸ÃÀ಻»áÔÚÍⲿ±»ËæÒâʵÀý»¯£¬ÊDZ£Ö¤¸ÃÀàÖ»ÓÃÒ»¸öʵÀýµÄ»ù±¾Ç°Ìá DH() { } ¶¨ÒåÒ»¸ö¾²Ì¬µÄ¹«¿ªµÄGetInstance·½·¨¹©ÍⲿµÃµ½DHÀàΨһʵÀýÊǵ÷Óà DH GetInstance() { (dh == null) { lock (lockObject) { //ÏÈÅжÏdhÊÇ·ñÒѾ­±»ÊµÀý»¯£¬Èôδ±»ÊµÀý»¯£¬ÏÈʵÀý»¯µÃµ½DHÀàµÄʵÀý (dh == null) { dh = new DH(); } } } return dh; } Ðã³ö×Ô¼ºµÄ¼¼ÄÜ ShowSkills() { Console.WriteLine(); } }

2 ×ܽá

±¾´ÎÖ÷Òª»ùÓÚÉÏһƪµÄ¼òµ¥¹¤³§Ä£Ê½£¬ÑÓÐøµÄѧϰʹÓÃÁ˵¥Àý¹¤³§Ä£Ê½È·±£Ò»¸öÀàʵÀýµÄÈ«¾ÖΨһÐÔ£¬¹ý³ÌÖÐѧϰÁËÀÁººÊ½¡¢¶öººÊ½¡¢Ë«Öؼì²éËøµÈ¾ßÌå½â¾ö·½°¸¼°Ñݱä¹ý³Ì¡£

Éè¼Æģʽ´ÓÀ´²»Êǵ¥´ò¶À¶·£¬ºËÐÄ˼ÏëÊÇÒª¸ù¾Ýʵ¼ÊÐèÒªÀûÓöàÖÖģʽ»¥ÏàÅäºÏÀ´ÊµÏÖ´úÂë½á¹¹µÄ×îÓÅ»¯ºÍ½¡×³ÐÔ¡£

¡¡

1.±¾Õ¾×ñÑ­ÐÐÒµ¹æ·¶£¬ÈκÎתÔصĸå¼þ¶¼»áÃ÷È·±ê×¢×÷ÕߺÍÀ´Ô´£»2.±¾Õ¾µÄÔ­´´ÎÄÕ£¬ÇëתÔØʱÎñ±Ø×¢Ã÷ÎÄÕÂ×÷ÕߺÍÀ´Ô´£¬²»×ðÖØÔ­´´µÄÐÐΪÎÒÃǽ«×·¾¿ÔðÈΣ»3.×÷ÕßͶ¸å¿ÉÄܻᾭÎÒÃDZ༭Ð޸Ļò²¹³ä¡£

Ïà¹ØÎÄÕÂ
  • Éè¼Æģʽ£¨0£©¼òµ¥¹¤³§Ä£Ê½ - Fonour

    Éè¼Æģʽ£¨0£©¼òµ¥¹¤³§Ä£Ê½ - Fonour

    2017-03-25 15:01

  • ó´ÌÒ¹û԰ϵͳģʽ¿ª·¢ - linoin

    ó´ÌÒ¹û԰ϵͳģʽ¿ª·¢ - linoin

    2017-03-06 16:00

  • CSS Float ÒÔ¼°Ïà¹Ø²¼¾Öģʽ - Áõ½­Áú

    CSS Float ÒÔ¼°Ïà¹Ø²¼¾Öģʽ - Áõ½­Áú

    2016-11-03 10:00

  • Socket±à³ÌģʽÀí½âÓë¶Ô±È - liyux

    Socket±à³ÌģʽÀí½âÓë¶Ô±È - liyux

    2016-06-30 16:09

ÍøÓѵãÆÀ
·