锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美日日夜夜,国产精品成人在线,国产成人av一区二区三区在线观看http://www.aygfsteel.com/wxb1988/鐭ヤ漢鑰呮櫤錛岃嚜鐭ヨ€呮槑銆傝儨浜鴻€呮湁鍔涳紝鑷儨鑰呭己銆?/description>zh-cnThu, 03 Jul 2025 12:10:06 GMTThu, 03 Jul 2025 12:10:06 GMT60璁捐妯″紡鐨勫叚澶у師鍒?/title><link>http://www.aygfsteel.com/wxb1988/archive/2015/07/21/426365.html</link><dc:creator>wxb1988</dc:creator><author>wxb1988</author><pubDate>Tue, 21 Jul 2015 08:44:00 GMT</pubDate><guid>http://www.aygfsteel.com/wxb1988/archive/2015/07/21/426365.html</guid><wfw:comment>http://www.aygfsteel.com/wxb1988/comments/426365.html</wfw:comment><comments>http://www.aygfsteel.com/wxb1988/archive/2015/07/21/426365.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wxb1988/comments/commentRss/426365.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wxb1988/services/trackbacks/426365.html</trackback:ping><description><![CDATA[     鎽樿: 璁捐妯″紡鐨勫叚澶у師鍒欐€誨師鍒欙細寮€闂師鍒欙紙Open Close Principle錛夊紑闂師鍒欏氨鏄瀵規墿灞曞紑鏀撅紝瀵逛慨鏀瑰叧闂€傚湪紼嬪簭闇€瑕佽繘琛屾嫇灞曠殑鏃跺€欙紝涓嶈兘鍘諱慨鏀瑰師鏈夌殑浠g爜錛岃€屾槸瑕佹墿灞曞師鏈変唬鐮侊紝瀹炵幇涓€涓儹鎻掓嫈鐨勬晥鏋溿€傛墍浠ヤ竴鍙ヨ瘽姒傛嫭灝辨槸錛氫負浜嗕嬌紼嬪簭鐨勬墿灞曟€уソ錛屾槗浜庣淮鎶ゅ拰鍗囩駭銆傛兂瑕佽揪鍒拌繖鏍風殑鏁堟灉錛屾垜浠渶瑕佷嬌鐢ㄦ帴鍙e拰鎶借薄綾葷瓑錛屽悗闈㈢殑鍏蜂綋璁捐涓垜浠細鎻愬埌榪欑偣銆?銆佸崟涓€鑱岃矗鍘熷垯涓嶈瀛樺湪澶氫簬涓€涓鑷寸被鍙樻洿鐨勫師鍥狅紝涔熷氨鏄?..  <a href='http://www.aygfsteel.com/wxb1988/archive/2015/07/21/426365.html'>闃呰鍏ㄦ枃</a><img src ="http://www.aygfsteel.com/wxb1988/aggbug/426365.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wxb1988/" target="_blank">wxb1988</a> 2015-07-21 16:44 <a href="http://www.aygfsteel.com/wxb1988/archive/2015/07/21/426365.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鎶借薄宸ュ巶妯″紡http://www.aygfsteel.com/wxb1988/archive/2015/07/20/426347.htmlwxb1988wxb1988Mon, 20 Jul 2015 14:34:00 GMThttp://www.aygfsteel.com/wxb1988/archive/2015/07/20/426347.htmlhttp://www.aygfsteel.com/wxb1988/comments/426347.htmlhttp://www.aygfsteel.com/wxb1988/archive/2015/07/20/426347.html#Feedback0http://www.aygfsteel.com/wxb1988/comments/commentRss/426347.htmlhttp://www.aygfsteel.com/wxb1988/services/trackbacks/426347.html瀹氫箟錛?/strong>涓哄垱寤轟竴緇勭浉鍏蟲垨鐩鎬簰渚濊禆鐨勫璞℃彁渚涗竴涓帴鍙o紝鑰屼笖鏃犻渶鎸囧畾浠栦滑鐨勫叿浣撶被銆?/span>

綾誨瀷錛?/strong>鍒涘緩綾繪ā寮?/p>

綾誨浘錛?/strong>

鎶借薄宸ュ巶妯″紡涓庡伐鍘傛柟娉曟ā寮忕殑鍖哄埆

        鎶借薄宸ュ巶妯″紡鏄伐鍘傛柟娉曟ā寮忕殑鍗囩駭鐗堟湰錛屼粬鐢ㄦ潵鍒涘緩涓€緇勭浉鍏蟲垨鑰呯浉浜掍緷璧栫殑瀵硅薄銆備粬涓庡伐鍘傛柟娉曟ā寮忕殑鍖哄埆灝卞湪浜庯紝宸ュ巶鏂規硶妯″紡閽堝鐨勬槸涓€涓駭鍝佺瓑綰х粨鏋勶紱鑰屾娊璞″伐鍘傛ā寮忓垯鏄拡瀵圭殑澶氫釜浜у搧絳夌駭緇撴瀯銆傚湪緙栫▼涓紝閫氬父涓€涓駭鍝佺粨鏋勶紝琛ㄧ幇涓轟竴涓帴鍙f垨鑰呮娊璞$被錛屼篃灝辨槸璇達紝宸ュ巶鏂規硶妯″紡鎻愪緵鐨勬墍鏈変駭鍝侀兘鏄鐢熻嚜鍚屼竴涓帴鍙f垨鎶借薄綾伙紝鑰屾娊璞″伐鍘傛ā寮忔墍鎻愪緵鐨勪駭鍝佸垯鏄鐢熻嚜涓嶅悓鐨勬帴鍙f垨鎶借薄綾匯€?/p>

        鍦ㄦ娊璞″伐鍘傛ā寮忎腑錛屾湁涓€涓?strong>浜у搧鏃?/strong>鐨勬蹇碉細鎵€璋撶殑浜у搧鏃忥紝鏄寚浣嶄簬涓嶅悓浜у搧絳夌駭緇撴瀯涓姛鑳界浉鍏寵仈鐨勪駭鍝佺粍鎴愮殑瀹舵棌銆傛娊璞″伐鍘傛ā寮忔墍鎻愪緵鐨勪竴緋誨垪浜у搧灝辯粍鎴愪竴涓駭鍝佹棌錛涜€屽伐鍘傛柟娉曟彁渚涚殑涓€緋誨垪浜у搧縐頒負涓€涓瓑綰х粨鏋勩€傛垜浠緷鐒舵嬁鐢熶駭姹借濺鐨勪緥瀛愭潵璇存槑浠栦滑涔嬮棿鐨勫尯鍒€?/p>

        鍦ㄤ笂闈㈢殑綾誨浘涓紝涓ゅ帰杞﹀拰涓夊帰杞︾О涓轟袱涓笉鍚岀殑絳夌駭緇撴瀯錛涜€?.0鎺掗噺杞﹀拰2.4鎺掗噺杞﹀垯縐頒負涓や釜涓嶅悓鐨勪駭鍝佹棌銆傚啀鍏蜂綋涓€鐐癸紝2.0鎺掗噺涓ゅ帰杞﹀拰2.4鎺掗噺涓ゅ帰杞﹀睘浜庡悓涓€涓瓑綰х粨鏋勶紝2.0鎺掗噺涓夊帰杞﹀拰2.4鎺掗噺涓夊帰杞﹀睘浜庡彟涓€涓瓑綰х粨鏋勶紱鑰?.0鎺掗噺涓ゅ帰杞﹀拰2.0鎺掗噺涓夊帰杞﹀睘浜庡悓涓€涓駭鍝佹棌錛?.4鎺掗噺涓ゅ帰杞﹀拰2.4鎺掗噺涓夊帰杞﹀睘浜庡彟涓€涓駭鍝佹棌銆?/p>

        鏄庣櫧浜嗙瓑綰х粨鏋勫拰浜у搧鏃忕殑姒傚康錛屽氨鐞嗚В宸ュ巶鏂規硶妯″紡鍜屾娊璞″伐鍘傛ā寮忕殑鍖哄埆浜嗭紝濡傛灉宸ュ巶鐨勪駭鍝佸叏閮ㄥ睘浜庡悓涓€涓瓑綰х粨鏋勶紝鍒欏睘浜庡伐鍘傛柟娉曟ā寮忥紱濡傛灉宸ュ巶鐨勪駭鍝佹潵鑷涓瓑綰х粨鏋勶紝鍒欏睘浜庢娊璞″伐鍘傛ā寮忋€傚湪鏈緥涓紝濡傛灉涓€涓伐鍘傛ā寮忔彁渚?.0鎺掗噺涓ゅ帰杞﹀拰2.4鎺掗噺涓ゅ帰杞︼紝閭d箞浠栧睘浜庡伐鍘傛柟娉曟ā寮忥紱濡傛灉涓€涓伐鍘傛ā寮忔槸鎻愪緵2.4鎺掗噺涓ゅ帰杞﹀拰2.4鎺掗噺涓夊帰杞︿袱涓駭鍝侊紝閭d箞榪欎釜宸ュ巶妯″紡灝辨槸鎶借薄宸ュ巶妯″紡錛屽洜涓轟粬鎻愪緵鐨勪駭鍝佹槸鍒嗗睘涓や釜涓嶅悓鐨勭瓑綰х粨鏋勩€傚綋鐒訛紝濡傛灉涓€涓伐鍘傛彁渚涘叏閮ㄥ洓縐嶈濺鍨嬬殑浜у搧錛屽洜涓轟駭鍝佸垎灞炰袱涓瓑綰х粨鏋勶紝浠栧綋鐒朵篃灞炰簬鎶借薄宸ュ巶妯″紡浜嗐€?/p>

鎶借薄宸ュ巶妯″紡浠g爜

  1. interface IProduct1 {  
  2.     public void show();  
  3. }  
  4. interface IProduct2 {  
  5.     public void show();  
  6. }  
  7.   
  8. class Product1 implements IProduct1 {  
  9.     public void show() {  
  10.         System.out.println("榪欐槸1鍨嬩駭鍝?);  
  11.     }  
  12. }  
  13. class Product2 implements IProduct2 {  
  14.     public void show() {  
  15.         System.out.println("榪欐槸2鍨嬩駭鍝?);  
  16.     }  
  17. }  
  18.   
  19. interface IFactory {  
  20.     public IProduct1 createProduct1();  
  21.     public IProduct2 createProduct2();  
  22. }  
  23. class Factory implements IFactory{  
  24.     public IProduct1 createProduct1() {  
  25.         return new Product1();  
  26.     }  
  27.     public IProduct2 createProduct2() {  
  28.         return new Product2();  
  29.     }  
  30. }  
  31.   
  32. public class Client {  
  33.     public static void main(String[] args){  
  34.         IFactory factory = new Factory();  
  35.         factory.createProduct1().show();  
  36.         factory.createProduct2().show();  
  37.     }  
  38. }  

鎶借薄宸ュ巶妯″紡鐨勪紭鐐?/strong>

        鎶借薄宸ュ巶妯″紡闄や簡鍏鋒湁宸ュ巶鏂規硶妯″紡鐨勪紭鐐瑰錛屾渶涓昏鐨勪紭鐐瑰氨鏄彲浠ュ湪綾葷殑鍐呴儴瀵逛駭鍝佹棌榪涜綰︽潫銆傛墍璋撶殑浜у搧鏃忥紝涓€鑸垨澶氭垨灝戠殑閮藉瓨鍦ㄤ竴瀹氱殑鍏寵仈錛屾娊璞″伐鍘傛ā寮忓氨鍙互鍦ㄧ被鍐呴儴瀵逛駭鍝佹棌鐨勫叧鑱斿叧緋昏繘琛屽畾涔夊拰鎻忚堪錛岃€屼笉蹇呬笓闂ㄥ紩鍏ヤ竴涓柊鐨勭被鏉ヨ繘琛岀鐞嗐€?/p>

 

鎶借薄宸ュ巶妯″紡鐨勭己鐐?/strong>

       浜у搧鏃忕殑鎵╁睍灝嗘槸涓€浠跺崄鍒嗚垂鍔涚殑浜嬫儏錛屽亣濡備駭鍝佹棌涓渶瑕佸鍔犱竴涓柊鐨勪駭鍝侊紝鍒欏嚑涔庢墍鏈夌殑宸ュ巶綾婚兘闇€瑕佽繘琛屼慨鏀廣€傛墍浠ヤ嬌鐢ㄦ娊璞″伐鍘傛ā寮忔椂錛屽浜у搧絳夌駭緇撴瀯鐨勫垝鍒嗘槸闈炲父閲嶈鐨勩€?/p>

 

閫傜敤鍦烘櫙

       褰撻渶瑕佸垱寤虹殑瀵硅薄鏄竴緋誨垪鐩鎬簰鍏寵仈鎴栫浉浜掍緷璧栫殑浜у搧鏃忔椂錛屼究鍙互浣跨敤鎶借薄宸ュ巶妯″紡銆傝鐨勬洿鏄庣櫧涓€鐐癸紝灝辨槸涓€涓戶鎵夸綋緋諱腑錛屽鏋滃瓨鍦ㄧ潃澶氫釜絳夌駭緇撴瀯錛堝嵆瀛樺湪鐫€澶氫釜鎶借薄綾伙級錛屽茍涓斿垎灞炲悇涓瓑綰х粨鏋勪腑鐨勫疄鐜扮被涔嬮棿瀛樺湪鐫€涓€瀹氱殑鍏寵仈鎴栬€呯害鏉燂紝灝卞彲浠ヤ嬌鐢ㄦ娊璞″伐鍘傛ā寮忋€傚亣濡傚悇涓瓑綰х粨鏋勪腑鐨勫疄鐜扮被涔嬮棿涓嶅瓨鍦ㄥ叧鑱旀垨綰︽潫錛屽垯浣跨敤澶氫釜鐙珛鐨勫伐鍘傛潵瀵逛駭鍝佽繘琛屽垱寤猴紝鍒欐洿鍚堥€備竴鐐廣€?/p>

 

鎬葷粨

       鏃犺鏄畝鍗曞伐鍘傛ā寮忥紝宸ュ巶鏂規硶妯″紡錛岃繕鏄娊璞″伐鍘傛ā寮忥紝浠栦滑閮藉睘浜庡伐鍘傛ā寮忥紝鍦ㄥ艦寮忓拰鐗圭偣涓婁篃鏄瀬涓虹浉浼肩殑錛屼粬浠殑鏈€緇堢洰鐨勯兘鏄負浜嗚В鑰︺€傚湪浣跨敤鏃訛紝鎴戜滑涓嶅繀鍘誨湪鎰忚繖涓ā寮忓埌搴曞伐鍘傛柟娉曟ā寮忚繕鏄娊璞″伐鍘傛ā寮忥紝鍥犱負浠栦滑涔嬮棿鐨勬紨鍙樺父甯告槸浠や漢鐞㈢(涓嶉€忕殑銆傜粡甯鎬綘浼氬彂鐜幫紝鏄庢槑浣跨敤鐨勫伐鍘傛柟娉曟ā寮忥紝褰撴柊闇€姹傛潵涓達紝紼嶅姞淇敼錛屽姞鍏ヤ簡涓€涓柊鏂規硶鍚庯紝鐢變簬綾諱腑鐨勪駭鍝佹瀯鎴愪簡涓嶅悓絳夌駭緇撴瀯涓殑浜у搧鏃忥紝瀹冨氨鍙樻垚鎶借薄宸ュ巶妯″紡浜嗭紱鑰屽浜庢娊璞″伐鍘傛ā寮忥紝褰撳噺灝戜竴涓柟娉曚嬌鐨勬彁渚涚殑浜у搧涓嶅啀鏋勬垚浜у搧鏃忎箣鍚庯紝瀹冨氨婕斿彉鎴愪簡宸ュ巶鏂規硶妯″紡銆?/p>

       鎵€浠ワ紝鍦ㄤ嬌鐢ㄥ伐鍘傛ā寮忔椂錛屽彧闇€瑕佸叧蹇冮檷浣庤€﹀悎搴︾殑鐩殑鏄惁杈懼埌浜嗐€?/p>

wxb1988 2015-07-20 22:34 鍙戣〃璇勮
]]>
宸ュ巶鏂規硶妯″紡錛?錛?/title><link>http://www.aygfsteel.com/wxb1988/archive/2015/07/20/426346.html</link><dc:creator>wxb1988</dc:creator><author>wxb1988</author><pubDate>Mon, 20 Jul 2015 14:32:00 GMT</pubDate><guid>http://www.aygfsteel.com/wxb1988/archive/2015/07/20/426346.html</guid><wfw:comment>http://www.aygfsteel.com/wxb1988/comments/426346.html</wfw:comment><comments>http://www.aygfsteel.com/wxb1988/archive/2015/07/20/426346.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wxb1988/comments/commentRss/426346.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wxb1988/services/trackbacks/426346.html</trackback:ping><description><![CDATA[<p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong>瀹氫箟錛?/strong>瀹氫箟涓€涓敤浜庡垱寤哄璞$殑鎺ュ彛錛岃瀛愮被鍐沖畾瀹炰緥鍖栧摢涓€涓被錛屽伐鍘傛柟娉曚嬌涓€涓被鐨勫疄渚嬪寲寤惰繜鍒板叾瀛愮被銆?/p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong>綾誨瀷錛?/strong>鍒涘緩綾繪ā寮?/p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong>綾誨浘錛?/strong></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><img alt="" src="http://hi.csdn.net/attachment/201203/15/0_1331817716F3IJ.gif" style="border: none; max-width: 100%;" /></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong>宸ュ巶鏂規硶妯″紡浠g爜</strong></p><div bg_java"="" style="width: 936.53125px; line-height: 26px;"><div><div><strong>[java]</strong> <a title="view plain" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_plain.gif); background-position: 0% 0%; background-repeat: no-repeat;">view plain</a><a title="copy" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_copy.gif); background-position: 0% 0%; background-repeat: no-repeat;">copy</a><div style="position: absolute; left: 440px; top: 819px; width: 18px; height: 18px; z-index: 99;"></div></div></div><ol start="1"><li style="line-height: 18px;">interface IProduct {  </li><li style="line-height: 18px;">    public void productMethod();  </li><li style="line-height: 18px;">}  </li><li style="line-height: 18px;">  </li><li style="line-height: 18px;">class Product implements IProduct {  </li><li style="line-height: 18px;">    public void productMethod() {  </li><li style="line-height: 18px;">        System.out.println("浜у搧");  </li><li style="line-height: 18px;">    }  </li><li style="line-height: 18px;">}  </li><li style="line-height: 18px;">  </li><li style="line-height: 18px;">interface IFactory {  </li><li style="line-height: 18px;">    public IProduct createProduct();  </li><li style="line-height: 18px;">}  </li><li style="line-height: 18px;">  </li><li style="line-height: 18px;">class Factory implements IFactory {  </li><li style="line-height: 18px;">    public IProduct createProduct() {  </li><li style="line-height: 18px;">        return new Product();  </li><li style="line-height: 18px;">    }  </li><li style="line-height: 18px;">}  </li><li style="line-height: 18px;">  </li><li style="line-height: 18px;">public class Client {  </li><li style="line-height: 18px;">    public static void main(String[] args) {  </li><li style="line-height: 18px;">        IFactory factory = new Factory();  </li><li style="line-height: 18px;">        IProduct prodect = factory.createProduct();  </li><li style="line-height: 18px;">        prodect.productMethod();  </li><li style="line-height: 18px;">    }  </li><li style="line-height: 18px;">}  </li></ol></div><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong>宸ュ巶妯″紡錛?/strong></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">        棣栧厛闇€瑕佽涓€涓嬪伐鍘傛ā寮忋€傚伐鍘傛ā寮忔牴鎹娊璞$▼搴︾殑涓嶅悓鍒嗕負涓夌錛氱畝鍗曞伐鍘傛ā寮忥紙涔熷彨闈欐€佸伐鍘傛ā寮忥級銆佹湰鏂囨墍璁茶堪鐨?strong>宸ュ巶鏂規硶妯″紡</strong>銆佷互鍙婃娊璞″伐鍘傛ā寮忋€傚伐鍘傛ā寮忔槸緙栫▼涓粡甯哥敤鍒扮殑涓€縐嶆ā寮忋€傚畠鐨勪富瑕佷紭鐐規湁錛?/p><ul style="font-family: Arial; line-height: 26px; background-color: #ffffff;"><li>鍙互浣夸唬鐮佺粨鏋勬竻鏅幫紝鏈夋晥鍦板皝瑁呭彉鍖栥€傚湪緙栫▼涓紝浜у搧綾葷殑瀹炰緥鍖栨湁鏃跺€欐槸姣旇緝澶嶆潅鍜屽鍙樼殑錛岄€氳繃宸ュ巶妯″紡錛屽皢浜у搧鐨勫疄渚嬪寲灝佽璧鋒潵錛屼嬌寰楄皟鐢ㄨ€呮牴鏈棤闇€鍏沖績浜у搧鐨勫疄渚嬪寲榪囩▼錛屽彧闇€渚濊禆宸ュ巶鍗沖彲寰楀埌鑷繁鎯寵鐨勪駭鍝併€?/li><li>瀵硅皟鐢ㄨ€呭睆钄藉叿浣撶殑浜у搧綾匯€傚鏋滀嬌鐢ㄥ伐鍘傛ā寮忥紝璋冪敤鑰呭彧鍏沖績浜у搧鐨勬帴鍙e氨鍙互浜嗭紝鑷充簬鍏蜂綋鐨勫疄鐜幫紝璋冪敤鑰呮牴鏈棤闇€鍏沖績銆傚嵆浣垮彉鏇翠簡鍏蜂綋鐨勫疄鐜幫紝瀵硅皟鐢ㄨ€呮潵璇存病鏈変換浣曞獎鍝嶃€?/li><li>闄嶄綆鑰﹀悎搴︺€備駭鍝佺被鐨勫疄渚嬪寲閫氬父鏉ヨ鏄緢澶嶆潅鐨勶紝瀹冮渶瑕佷緷璧栧緢澶氱殑綾伙紝鑰岃繖浜涚被瀵逛簬璋冪敤鑰呮潵璇存牴鏈棤闇€鐭ラ亾錛屽鏋滀嬌鐢ㄤ簡宸ュ巶鏂規硶錛屾垜浠渶瑕佸仛鐨勪粎浠呮槸瀹炰緥鍖栧ソ浜у搧綾伙紝鐒跺悗浜ょ粰璋冪敤鑰呬嬌鐢ㄣ€傚璋冪敤鑰呮潵璇達紝浜у搧鎵€渚濊禆鐨勭被閮芥槸閫忔槑鐨勩€?/li></ul><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"> </p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong>宸ュ巶鏂規硶妯″紡錛?/strong></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong>       </strong>閫氳繃宸ュ巶鏂規硶妯″紡鐨勭被鍥懼彲浠ョ湅鍒幫紝宸ュ巶鏂規硶妯″紡鏈夊洓涓绱狅細</p><ul style="font-family: Arial; line-height: 26px; background-color: #ffffff;"><li>宸ュ巶鎺ュ彛銆傚伐鍘傛帴鍙f槸宸ュ巶鏂規硶妯″紡鐨勬牳蹇冿紝涓庤皟鐢ㄨ€呯洿鎺ヤ氦浜掔敤鏉ユ彁渚涗駭鍝併€傚湪瀹為檯緙栫▼涓紝鏈夋椂鍊欎篃浼氫嬌鐢ㄤ竴涓娊璞$被鏉ヤ綔涓轟笌璋冪敤鑰呬氦浜掔殑鎺ュ彛錛屽叾鏈川涓婃槸涓€鏍風殑銆?/li><li>宸ュ巶瀹炵幇銆傚湪緙栫▼涓紝宸ュ巶瀹炵幇鍐沖畾濡備綍瀹炰緥鍖栦駭鍝侊紝鏄疄鐜版墿灞曠殑閫斿緞錛岄渶瑕佹湁澶氬皯縐嶄駭鍝侊紝灝遍渶瑕佹湁澶氬皯涓叿浣撶殑宸ュ巶瀹炵幇銆?/li><li>浜у搧鎺ュ彛銆備駭鍝佹帴鍙g殑涓昏鐩殑鏄畾涔変駭鍝佺殑瑙勮寖錛屾墍鏈夌殑浜у搧瀹炵幇閮藉繀欏婚伒寰駭鍝佹帴鍙e畾涔夌殑瑙勮寖銆備駭鍝佹帴鍙f槸璋冪敤鑰呮渶涓哄叧蹇冪殑錛屼駭鍝佹帴鍙e畾涔夌殑浼樺姡鐩存帴鍐沖畾浜嗚皟鐢ㄨ€呬唬鐮佺殑紼沖畾鎬с€傚悓鏍鳳紝浜у搧鎺ュ彛涔熷彲浠ョ敤鎶借薄綾繪潵浠f浛錛屼絾瑕佹敞鎰忔渶濂戒笉瑕佽繚鍙嶉噷姘忔浛鎹㈠師鍒欍€?/li><li>浜у搧瀹炵幇銆傚疄鐜頒駭鍝佹帴鍙g殑鍏蜂綋綾伙紝鍐沖畾浜嗕駭鍝佸湪瀹㈡埛绔腑鐨勫叿浣撹涓恒€?/li></ul><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">        鍓嶆枃鎻愬埌鐨勭畝鍗曞伐鍘傛ā寮忚窡宸ュ巶鏂規硶妯″紡鏋佷負鐩鎬技錛屽尯鍒槸錛氱畝鍗曞伐鍘傚彧鏈変笁涓绱狅紝浠栨病鏈夊伐鍘傛帴鍙o紝騫朵笖寰楀埌浜у搧鐨勬柟娉曚竴鑸槸闈欐€佺殑銆傚洜涓烘病鏈夊伐鍘傛帴鍙o紝鎵€浠ュ湪宸ュ巶瀹炵幇鐨勬墿灞曟€ф柟闈㈢◢寮憋紝鍙互綆楁墍宸ュ巶鏂規硶妯″紡鐨勭畝鍖栫増錛屽叧浜庣畝鍗曞伐鍘傛ā寮忥紝鍦ㄦ涓€絎斿甫榪囥€?/p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">      </p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong>閫傜敤鍦烘櫙錛?/strong></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">        涓嶇鏄畝鍗曞伐鍘傛ā寮忥紝宸ュ巶鏂規硶妯″紡榪樻槸鎶借薄宸ュ巶妯″紡錛屼粬浠叿鏈夌被浼肩殑鐗規€э紝鎵€浠ヤ粬浠殑閫傜敤鍦烘櫙涔熸槸綾諱技鐨勩€?/p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">        棣栧厛錛屼綔涓轟竴縐嶅垱寤虹被妯″紡錛屽湪浠諱綍闇€瑕佺敓鎴?strong>澶嶆潅瀵硅薄</strong>鐨勫湴鏂癸紝閮藉彲浠ヤ嬌鐢ㄥ伐鍘傛柟娉曟ā寮忋€傛湁涓€鐐歸渶瑕佹敞鎰忕殑鍦版柟灝辨槸澶嶆潅瀵硅薄閫傚悎浣跨敤宸ュ巶妯″紡錛岃€岀畝鍗曞璞★紝鐗瑰埆鏄彧闇€瑕侀€氳繃new灝卞彲浠ュ畬鎴愬垱寤虹殑瀵硅薄錛屾棤闇€浣跨敤宸ュ巶妯″紡銆傚鏋滀嬌鐢ㄥ伐鍘傛ā寮忥紝灝遍渶瑕佸紩鍏ヤ竴涓伐鍘傜被錛屼細澧炲姞緋葷粺鐨勫鏉傚害銆?/p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">       鍏舵錛屽伐鍘傛ā寮忔槸涓€縐嶅吀鍨嬬殑瑙h€︽ā寮忥紝榪背鐗規硶鍒欏湪宸ュ巶妯″紡涓〃鐜扮殑灝や負鏄庢樉銆傚亣濡傝皟鐢ㄨ€呰嚜宸辯粍瑁呬駭鍝侀渶瑕佸鍔犱緷璧栧叧緋繪椂錛屽彲浠ヨ€冭檻浣跨敤宸ュ巶妯″紡銆傚皢浼氬ぇ澶ч檷浣庡璞′箣闂寸殑鑰﹀悎搴︺€?/p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">       鍐嶆錛岀敱浜庡伐鍘傛ā寮忔槸渚濋潬鎶借薄鏋舵瀯鐨勶紝瀹冩妸瀹炰緥鍖栦駭鍝佺殑浠誨姟浜ょ敱瀹炵幇綾誨畬鎴愶紝鎵╁睍鎬ф瘮杈冨ソ銆備篃灝辨槸璇達紝褰撻渶瑕佺郴緇熸湁姣旇緝濂界殑鎵╁睍鎬ф椂錛屽彲浠ヨ€冭檻宸ュ巶妯″紡錛屼笉鍚岀殑浜у搧鐢ㄤ笉鍚岀殑瀹炵幇宸ュ巶鏉ョ粍瑁呫€?/p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">      </p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong>鍏稿瀷搴旂敤</strong></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">       瑕佽鏄庡伐鍘傛ā寮忕殑浼樼偣錛屽彲鑳芥病鏈夋瘮緇勮姹借濺鏇村悎閫傜殑渚嬪瓙浜嗐€傚満鏅槸榪欐牱鐨勶細姹借濺鐢卞彂鍔ㄦ満銆佽疆銆佸簳鐩樼粍鎴愶紝鐜板湪闇€瑕佺粍瑁呬竴杈嗚濺浜ょ粰璋冪敤鑰呫€傚亣濡備笉浣跨敤宸ュ巶妯″紡錛屼唬鐮佸涓嬶細<br /></p><div bg_java"="" style="width: 936.53125px; line-height: 26px;"><div><div><strong>[java]</strong> <a title="view plain" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_plain.gif); background-position: 0% 0%; background-repeat: no-repeat;">view plain</a><a title="copy" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_copy.gif); background-position: 0% 0%; background-repeat: no-repeat;">copy</a><div style="position: absolute; left: 440px; top: 2288px; width: 18px; height: 18px; z-index: 99;"></div></div></div><ol start="1"><li style="line-height: 18px;">class Engine {  </li><li style="line-height: 18px;">    public void getStyle(){  </li><li style="line-height: 18px;">        System.out.println("榪欐槸姹借濺鐨勫彂鍔ㄦ満");  </li><li style="line-height: 18px;">    }  </li><li style="line-height: 18px;">}  </li><li style="line-height: 18px;">class Underpan {  </li><li style="line-height: 18px;">    public void getStyle(){  </li><li style="line-height: 18px;">        System.out.println("榪欐槸姹借濺鐨勫簳鐩?);  </li><li style="line-height: 18px;">    }  </li><li style="line-height: 18px;">}  </li><li style="line-height: 18px;">class Wheel {  </li><li style="line-height: 18px;">    public void getStyle(){  </li><li style="line-height: 18px;">        System.out.println("榪欐槸姹借濺鐨勮疆鑳?);  </li><li style="line-height: 18px;">    }  </li><li style="line-height: 18px;">}  </li><li style="line-height: 18px;">public class Client {  </li><li style="line-height: 18px;">    public static void main(String[] args) {  </li><li style="line-height: 18px;">        Engine engine = new Engine();  </li><li style="line-height: 18px;">        Underpan underpan = new Underpan();  </li><li style="line-height: 18px;">        Wheel wheel = new Wheel();  </li><li style="line-height: 18px;">        ICar car = new Car(underpan, wheel, engine);  </li><li style="line-height: 18px;">        car.show();  </li><li style="line-height: 18px;">    }  </li><li style="line-height: 18px;">}  </li></ol></div><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><br />        鍙互鐪嬪埌錛岃皟鐢ㄨ€呬負浜嗙粍瑁呮苯杞﹁繕闇€瑕佸彟澶栧疄渚嬪寲鍙戝姩鏈恒€佸簳鐩樺拰杞儙錛岃€岃繖浜涙苯杞︾殑緇勪歡鏄笌璋冪敤鑰呮棤鍏崇殑錛屼弗閲嶈繚鍙嶄簡榪背鐗規硶鍒欙紝鑰﹀悎搴﹀お楂樸€傚茍涓旈潪甯鎬笉鍒╀簬鎵╁睍銆傚彟澶栵紝鏈緥涓彂鍔ㄦ満銆佸簳鐩樺拰杞儙榪樻槸姣旇緝鍏蜂綋鐨勶紝鍦ㄥ疄闄呭簲鐢ㄤ腑錛屽彲鑳借繖浜涗駭鍝佺殑緇勪歡涔熼兘鏄娊璞$殑錛岃皟鐢ㄨ€呮牴鏈笉鐭ラ亾鎬庢牱緇勮浜у搧銆傚亣濡備嬌鐢ㄥ伐鍘傛柟娉曠殑璇濓紝鏁翠釜鏋舵瀯灝辨樉寰楁竻鏅頒簡璁稿銆?/p><div bg_java"="" style="width: 936.53125px; line-height: 26px;"><div><div><strong>[java]</strong> <a title="view plain" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_plain.gif); background-position: 0% 0%; background-repeat: no-repeat;">view plain</a><a title="copy" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_copy.gif); background-position: 0% 0%; background-repeat: no-repeat;">copy</a><div style="position: absolute; left: 440px; top: 2893px; width: 18px; height: 18px; z-index: 99;"></div></div></div><ol start="1"><li style="line-height: 18px;">interface IFactory {  </li><li style="line-height: 18px;">    public ICar createCar();  </li><li style="line-height: 18px;">}  </li><li style="line-height: 18px;">class Factory implements IFactory {  </li><li style="line-height: 18px;">    public ICar createCar() {  </li><li style="line-height: 18px;">        Engine engine = new Engine();  </li><li style="line-height: 18px;">        Underpan underpan = new Underpan();  </li><li style="line-height: 18px;">        Wheel wheel = new Wheel();  </li><li style="line-height: 18px;">        ICar car = new Car(underpan, wheel, engine);  </li><li style="line-height: 18px;">        return car;  </li><li style="line-height: 18px;">    }  </li><li style="line-height: 18px;">}  </li><li style="line-height: 18px;">public class Client {  </li><li style="line-height: 18px;">    public static void main(String[] args) {  </li><li style="line-height: 18px;">        IFactory factory = new Factory();  </li><li style="line-height: 18px;">        ICar car = factory.createCar();  </li><li style="line-height: 18px;">        car.show();  </li><li style="line-height: 18px;">    }  </li><li style="line-height: 18px;">}  </li></ol></div><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">        浣跨敤宸ュ巶鏂規硶鍚庯紝璋冪敤绔殑鑰﹀悎搴﹀ぇ澶ч檷浣庝簡銆傚茍涓斿浜庡伐鍘傛潵璇達紝鏄彲浠ユ墿灞曠殑錛屼互鍚庡鏋滄兂緇勮鍏朵粬鐨勬苯杞︼紝鍙渶瑕佸啀澧炲姞涓€涓伐鍘傜被鐨勫疄鐜板氨鍙互銆傛棤璁烘槸鐏墊椿鎬ц繕鏄ǔ瀹氭€ч兘寰楀埌浜嗘瀬澶х殑鎻愰珮銆?/p><img src ="http://www.aygfsteel.com/wxb1988/aggbug/426346.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wxb1988/" target="_blank">wxb1988</a> 2015-07-20 22:32 <a href="http://www.aygfsteel.com/wxb1988/archive/2015/07/20/426346.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍗曚緥妯″紡錛?錛?/title><link>http://www.aygfsteel.com/wxb1988/archive/2015/07/20/426345.html</link><dc:creator>wxb1988</dc:creator><author>wxb1988</author><pubDate>Mon, 20 Jul 2015 14:30:00 GMT</pubDate><guid>http://www.aygfsteel.com/wxb1988/archive/2015/07/20/426345.html</guid><wfw:comment>http://www.aygfsteel.com/wxb1988/comments/426345.html</wfw:comment><comments>http://www.aygfsteel.com/wxb1988/archive/2015/07/20/426345.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wxb1988/comments/commentRss/426345.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wxb1988/services/trackbacks/426345.html</trackback:ping><description><![CDATA[<strong style="font-family: Arial; line-height: 26px; background-color: #ffffff;">瀹氫箟錛?/strong><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">紜繚涓€涓被鍙湁涓€涓疄渚嬶紝鑰屼笖鑷瀹炰緥鍖栧茍鍚戞暣涓郴緇熸彁渚涜繖涓疄渚嬨€?/span><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong>綾誨瀷錛?/strong>鍒涘緩綾繪ā寮?/p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong>綾誨浘錛?/strong></p><p align="left" style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong><img alt="" src="http://hi.csdn.net/attachment/201203/8/0_1331168328p6R0.gif" style="border: none; max-width: 100%;" /></strong></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong><span style="font-size: 13px;">綾誨浘鐭ヨ瘑鐐癸細</span></strong></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: 10px; color: #000099;">1.綾誨浘鍒嗕負涓夐儴鍒嗭紝渚濇鏄被鍚嶃€佸睘鎬с€佹柟娉?/span></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: 10px; color: #000099;">2.浠?lt;<寮€澶村拰浠?gt;>緇撳熬鐨勪負娉ㄩ噴淇℃伅</span></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: 10px; color: #000099;">3.淇グ絎?浠h〃public錛?浠h〃private錛?浠h〃protected錛屼粈涔堥兘娌℃湁浠h〃鍖呭彲瑙併€?/span></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: 10px; color: #000099;">4.甯︿笅鍒掔嚎鐨勫睘鎬ф垨鏂規硶浠h〃鏄潤鎬佺殑銆?/span></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: 10px;"><span style="color: #000099;">5.瀵圭被鍥句腑瀵硅薄鐨勫叧緋諱笉鐔熸倝鐨勬湅鍙嬪彲浠ュ弬鑰冩枃绔狅細</span><span style="color: #ff9900; font-size: 13px;"><a target="_blank" style="color: #ff9900; text-decoration: none;"><strong>璁捐妯″紡涓被鐨勫叧緋?/strong></a></span></span><strong><span style="font-size: 13px;">銆?/span></strong></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">鍗曚緥妯″紡搴旇鏄?3縐嶈璁℃ā寮忎腑鏈€綆€鍗曠殑涓€縐嶆ā寮忎簡銆傚畠鏈変互涓嬪嚑涓绱狅細</p><ul style="font-family: Arial; line-height: 26px; background-color: #ffffff;"><li>縐佹湁鐨勬瀯閫犳柟娉?/li><li>鎸囧悜鑷繁瀹炰緥鐨勭鏈夐潤鎬佸紩鐢?/li><li>浠ヨ嚜宸卞疄渚嬩負榪斿洖鍊肩殑闈欐€佺殑鍏湁鐨勬柟娉?/li></ul><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">        鍗曚緥妯″紡鏍規嵁瀹炰緥鍖栧璞℃椂鏈虹殑涓嶅悓鍒嗕負涓ょ錛氫竴縐嶆槸楗挎眽寮忓崟渚嬶紝涓€縐嶆槸鎳掓眽寮忓崟渚嬨€傞タ姹夊紡鍗曚緥鍦ㄥ崟渚嬬被琚姞杞芥椂鍊欙紝灝卞疄渚嬪寲涓€涓璞′氦緇欒嚜宸辯殑寮曠敤錛涜€屾噿姹夊紡鍦ㄨ皟鐢ㄥ彇寰楀疄渚嬫柟娉曠殑鏃跺€欐墠浼氬疄渚嬪寲瀵硅薄銆備唬鐮佸涓嬶細</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong>楗挎眽寮忓崟渚?/strong></p><div bg_java"="" style="width: 936.53125px; line-height: 26px;"><div><div><strong>[java]</strong> <a title="view plain" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_plain.gif); background-position: 0% 0%; background-repeat: no-repeat;">view plain</a><a title="copy" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_copy.gif); background-position: 0% 0%; background-repeat: no-repeat;">copy</a><div style="position: absolute; left: 440px; top: 1058px; width: 18px; height: 18px; z-index: 99;"></div></div></div><ol start="1"><li style="line-height: 18px;">public class Singleton {  </li><li style="line-height: 18px;">    private static Singleton singleton = new Singleton();  </li><li style="line-height: 18px;">    private Singleton(){}  </li><li style="line-height: 18px;">    public static Singleton getInstance(){  </li><li style="line-height: 18px;">        return singleton;  </li><li style="line-height: 18px;">    }  </li><li style="line-height: 18px;">}  </li></ol></div><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong>鎳掓眽寮忓崟渚?/strong></p><div bg_java"="" style="width: 936.53125px; line-height: 26px;"><div><div><strong>[java]</strong> <a title="view plain" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_plain.gif); background-position: 0% 0%; background-repeat: no-repeat;">view plain</a><a title="copy" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_copy.gif); background-position: 0% 0%; background-repeat: no-repeat;">copy</a><div style="position: absolute; left: 440px; top: 1279px; width: 18px; height: 18px; z-index: 99;"></div></div></div><ol start="1"><li style="line-height: 18px;">public class Singleton {  </li><li style="line-height: 18px;">    private static Singleton singleton;  </li><li style="line-height: 18px;">    private Singleton(){}  </li><li style="line-height: 18px;">      </li><li style="line-height: 18px;">    public static synchronized Singleton getInstance(){  </li><li style="line-height: 18px;">        if(singleton==null){  </li><li style="line-height: 18px;">            singleton = new Singleton();  </li><li style="line-height: 18px;">        }  </li><li style="line-height: 18px;">        return singleton;  </li><li style="line-height: 18px;">    }  </li><li style="line-height: 18px;">}  </li></ol></div><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong>鍗曚緥妯″紡鐨勪紭鐐癸細</strong></p><ul style="font-family: Arial; line-height: 26px; background-color: #ffffff;"><li>鍦ㄥ唴瀛樹腑鍙湁涓€涓璞★紝鑺傜渷鍐呭瓨絀洪棿銆?/li><li>閬垮厤棰戠箒鐨勫垱寤洪攢姣佸璞★紝鍙互鎻愰珮鎬ц兘銆?/li><li>閬垮厤瀵瑰叡浜祫婧愮殑澶氶噸鍗犵敤銆?/li><li>鍙互鍏ㄥ眬璁塊棶銆?/li></ul><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong>閫傜敤鍦烘櫙錛?/strong>鐢變簬鍗曚緥妯″紡鐨勪互涓婁紭鐐癸紝鎵€浠ユ槸緙栫▼涓敤鐨勬瘮杈冨鐨勪竴縐嶈璁℃ā寮忋€傛垜鎬葷粨浜嗕竴涓嬫垜鎵€鐭ラ亾鐨勯€傚悎浣跨敤鍗曚緥妯″紡鐨勫満鏅細</p><ul style="font-family: Arial; line-height: 26px; background-color: #ffffff;"><li>闇€瑕侀綣佸疄渚嬪寲鐒跺悗閿€姣佺殑瀵硅薄銆?/li><li>鍒涘緩瀵硅薄鏃惰€楁椂榪囧鎴栬€呰€楄祫婧愯繃澶氾紝浣嗗張緇忓父鐢ㄥ埌鐨勫璞°€?/li><li>鏈夌姸鎬佺殑宸ュ叿綾誨璞°€?/li><li>棰戠箒璁塊棶鏁版嵁搴撴垨鏂囦歡鐨勫璞°€?/li><li>浠ュ強鍏朵粬鎴戞病鐢ㄨ繃鐨勬墍鏈夎姹傚彧鏈変竴涓璞$殑鍦烘櫙銆?/li></ul><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong>鍗曚緥妯″紡娉ㄦ剰浜嬮」錛?/strong></p><ul style="font-family: Arial; line-height: 26px; background-color: #ffffff;"><li>鍙兘浣跨敤鍗曚緥綾繪彁渚涚殑鏂規硶寰楀埌鍗曚緥瀵硅薄錛屼笉瑕佷嬌鐢ㄥ弽灝勶紝鍚﹀垯灝嗕細瀹炰緥鍖栦竴涓柊瀵硅薄銆?/li><li>涓嶈鍋氭柇寮€鍗曚緥綾誨璞′笌綾諱腑闈欐€佸紩鐢ㄧ殑鍗遍櫓鎿嶄綔銆?/li><li>澶氱嚎紼嬩嬌鐢ㄥ崟渚嬩嬌鐢ㄥ叡浜祫婧愭椂錛屾敞鎰忕嚎紼嬪畨鍏ㄩ棶棰樸€?/li></ul><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">鍏充簬java涓崟渚嬫ā寮忕殑涓€浜涗簤璁細</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong>鍗曚緥妯″紡鐨勫璞¢暱鏃墮棿涓嶇敤浼氳jvm鍨冨溇鏀墮泦鍣ㄦ敹闆嗗悧</strong></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">        鐪嬪埌涓嶅皯璧勬枡涓錛氬鏋滀竴涓崟渚嬪璞″湪鍐呭瓨涓暱涔呬笉鐢紝浼氳jvm璁や負鏄竴涓瀮鍦撅紝鍦ㄦ墽琛屽瀮鍦炬敹闆嗙殑鏃跺€欎細琚竻鐞嗘帀銆傚姝よ繖涓娉曪紝絎旇€呮寔鎬€鐤戞€佸害錛岀瑪鑰呮湰浜虹殑瑙傜偣鏄細<strong>鍦╤otspot铏氭嫙鏈?.6鐗堟湰涓紝闄ら潪浜轟負鍦版柇寮€鍗曚緥涓潤鎬佸紩鐢ㄥ埌鍗曚緥瀵硅薄鐨勮仈鎺ワ紝鍚﹀垯jvm鍨冨溇鏀墮泦鍣ㄦ槸涓嶄細鍥炴敹鍗曚緥瀵硅薄鐨勩€?/strong></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">瀵逛簬榪欎釜浜夎錛岀瑪鑰呭崟鐙啓浜嗕竴綃囨枃绔犺繘琛岃璁猴紝濡傛灉鎮ㄦ湁涓嶅悓鐨勮鐐規垨鑰呮湁榪囪繖鏂歸潰鐨勭粡鍘嗚榪涘叆鏂囩珷<span style="color: #ff9900;"><strong><a target="_blank" style="color: #ff9900; text-decoration: none;">鍗曚緥妯″紡璁ㄨ綃囷細鍗曚緥妯″紡涓庡瀮鍦炬敹闆?/a></strong></span>鍙備笌璁ㄨ銆?/p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"> </p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong>鍦ㄤ竴涓猨vm涓細鍑虹幇澶氫釜鍗曚緥鍚?/strong></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">        鍦ㄥ垎甯冨紡緋葷粺銆佸涓被鍔犺澆鍣ㄣ€佷互鍙婂簭鍒楀寲鐨勭殑鎯呭喌涓嬶紝浼氫駭鐢熷涓崟渚嬶紝榪欎竴鐐規槸鏃犲焊緗枒鐨勩€傞偅涔堝湪鍚屼竴涓猨vm涓紝浼氫笉浼氫駭鐢熷崟渚嬪憿錛熶嬌鐢ㄥ崟渚嬫彁渚涚殑getInstance()鏂規硶鍙兘寰楀埌鍚屼竴涓崟渚嬶紝闄ら潪鏄嬌鐢ㄥ弽灝勬柟寮忥紝灝嗕細寰楀埌鏂扮殑鍗曚緥銆備唬鐮佸涓?/p><div bg_java"="" style="width: 936.53125px; line-height: 26px;"><div><div><strong>[java]</strong> <a title="view plain" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_plain.gif); background-position: 0% 0%; background-repeat: no-repeat;">view plain</a><a title="copy" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_copy.gif); background-position: 0% 0%; background-repeat: no-repeat;">copy</a><div style="position: absolute; left: 440px; top: 2306px; width: 18px; height: 18px; z-index: 99;"></div></div></div><ol start="1"><li style="line-height: 18px;">Class c = Class.forName(Singleton.class.getName());  </li><li style="line-height: 18px;">Constructor ct = c.getDeclaredConstructor();  </li><li style="line-height: 18px;">ct.setAccessible(true);  </li><li style="line-height: 18px;">Singleton singleton = (Singleton)ct.newInstance();  </li></ol></div><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">榪欐牱錛屾瘡嬈¤繍琛岄兘浼氫駭鐢熸柊鐨勫崟渚嬪璞°€傛墍浠ヨ繍鐢ㄥ崟渚嬫ā寮忔椂錛屼竴瀹氭敞鎰忎笉瑕佷嬌鐢ㄥ弽灝勪駭鐢熸柊鐨勫崟渚嬪璞°€?/p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"> </p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong>鎳掓眽寮忓崟渚嬬嚎紼嬪畨鍏ㄥ悧</strong></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">        涓昏鏄綉涓婄殑涓€浜涜娉曪紝鎳掓眽寮忕殑鍗曚緥妯″紡鏄嚎紼嬩笉瀹夊叏鐨勶紝鍗充嬌鏄湪瀹炰緥鍖栧璞$殑鏂規硶涓婂姞<strong>synchronized</strong>鍏抽敭瀛楋紝涔熶緷鐒舵槸鍗遍櫓鐨勶紝浣嗘槸絎旇€呯粡榪囩紪鐮佹祴璇曪紝鍙戠幇鍔?strong>synchronized</strong>鍏抽敭瀛椾慨楗板悗錛岃櫧鐒跺鎬ц兘鏈夐儴鍒嗗獎鍝嶏紝浣嗘槸鍗存槸綰跨▼瀹夊叏鐨勶紝騫朵笉浼氫駭鐢熷疄渚嬪寲澶氫釜瀵硅薄鐨勬儏鍐點€?/p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong></strong> </p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong>鍗曚緥妯″紡鍙湁楗挎眽寮忓拰鎳掓眽寮忎袱縐嶅悧</strong></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">        楗挎眽寮忓崟渚嬪拰鎳掓眽寮忓崟渚嬪彧鏄袱縐嶆瘮杈冧富嫻佸拰甯哥敤鐨勫崟渚嬫ā寮忔柟娉曪紝浠庣悊璁轟笂璁詫紝浠諱綍鍙互瀹炵幇涓€涓被鍙湁涓€涓疄渚嬬殑璁捐妯″紡錛岄兘鍙互縐頒負鍗曚緥妯″紡銆?/p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong> </strong></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong>鍗曚緥綾誨彲浠ヨ緇ф壙鍚?/strong></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">        楗挎眽寮忓崟渚嬪拰鎳掓眽寮忓崟渚嬬敱浜庢瀯閫犳柟娉曟槸private鐨勶紝鎵€浠ヤ粬浠兘鏄笉鍙戶鎵跨殑錛屼絾鏄叾浠栧緢澶氬崟渚嬫ā寮忔槸鍙互緇ф壙鐨勶紝渚嬪鐧昏寮忓崟渚嬨€?/p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong> </strong></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong>楗挎眽寮忓崟渚嬪ソ榪樻槸鎳掓眽寮忓崟渚嬪ソ</strong></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">        鍦╦ava涓紝楗挎眽寮忓崟渚嬭浼樹簬鎳掓眽寮忓崟渚嬨€侰++涓垯涓€鑸嬌鐢ㄦ噿姹夊紡鍗曚緥銆?/p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">鍗曚緥妯″紡姣旇緝綆€鍗曪紝鍦ㄦ灝變笉涓句緥浠g爜婕旂ず浜嗐€?br /><br /><a style="color: #333333; text-decoration: none; font-family: 'Microsoft YaHei'; font-size: 20px; line-height: 30px;">鍗曚緥妯″紡涓庡瀮鍦懼洖鏀?/a><br /></p><div style="font-family: Arial; line-height: 26px; padding-top: 20px; background-color: #ffffff;"><p style="margin: 0px; padding: 0px;"><strong><span style="color: #ff9900;">       Jvm鐨勫瀮鍦懼洖鏀舵満鍒跺埌搴曚細涓嶄細鍥炴敹鎺夐暱鏃墮棿涓嶇敤鐨勫崟渚嬫ā寮忓璞★紝榪欑殑紜槸涓€涓瘮杈冩湁浜夎鎬х殑闂銆傚皢榪欎竴閮ㄥ垎鍐呭鍗曠嫭鎴愮瘒鐨勭洰鐨勪篃鏄負浜嗕笌騫垮ぇ鍗氬弸騫挎硾鐨勮璁轟竴涓嬭繖涓棶棰樸€備負浜嗚兘璁╂洿澶氱殑浜虹湅鍒拌繖綃囨枃绔狅紝璇峰悇浣嶅崥鍙嬬湅瀹屾枃绔犱箣鍚庯紝鐐逛竴涓?#8220;欏?#8221;錛岃鏈瘒鏂囩珷鎺掑悕灝介噺鐨勯潬鍓嶃€傜瑪鑰呭湪姝よ阿榪囥€?/span></strong></p><p style="margin: 0px; padding: 0px; font-size: 12px;"><br /></p><p align="left" style="margin: 0px; padding: 0px;"><strong><span style="font-size: 18px; color: #000099;">璁ㄨ鍛介錛氬綋涓€涓崟渚嬬殑瀵硅薄闀夸箙涓嶇敤鏃訛紝浼氫笉浼氳jvm鐨勫瀮鍦炬敹闆嗘満鍒跺洖鏀躲€?/span></strong></p><p align="left" style="margin: 0px; padding: 0px;">        棣栧厛璇翠竴涓嬩負浠€涔堜細浜х敓榪欎竴鐤戦棶錛岀瑪鑰呮湰浜哄啀姝や箣鍓嶄粠鏉ユ病鏈夎€冭檻榪囧瀮鍦懼洖鏀跺鍗曚緥妯″紡鐨勫獎鍝嶏紝鐩村埌鍘誨勾璇諱簡涓€鏈功錛屻€婅璁℃ā寮忎箣紱呫€嬬Е灝忔嘗钁椼€傚湪涔︿腑鎻愬埌<strong>鍦╦2ee搴旂敤涓紝jvm鍨冨溇鍥炴敹鏈哄埗浼氭妸闀夸箙涓嶇敤鐨勫崟渚嬬被瀵硅薄褰撲綔鍨冨溇錛屽茍鍦╟pu絀洪棽鐨勬椂鍊欏鍏惰繘琛屽洖鏀躲€?/strong>涔嬪墠璇昏繃鐨勫嚑鏈璁℃ā寮忕殑涔︼紝鍖呮嫭銆妀ava涓庢ā寮忋€嬶紝涔︿腑閮芥病鏈夋彁鍒癹vm鍨冨溇鍥炴敹鏈哄埗瀵瑰崟渚嬬殑褰卞搷銆傚茍涓斿湪宸ヤ綔榪囩▼涓紝涔熸病鏈夎繃鍗曚緥瀵硅薄琚洖鏀剁殑緇忓巻錛屽姞涓婂伐浣滀腑寰堝鍓嶈緢鏇劇粡鍛婅榪囩瑪鑰咃細灝介噺涓嶈澹版槑澶鐨勯潤鎬佸睘鎬э紝鍥犱負榪欎簺闈欐€佸睘鎬ц鍔犺澆鍚庝笉浼氳閲婃斁銆傚洜姝ゅjvm鍨冨溇鏀墮泦浼氬洖鏀跺崟渚嬪璞¤繖涓€璇存硶鎸佹€€鐤戞€佸害銆傛笎娓愬湴錛屽彂鐜板湪鍚屼簨涓拰緗戜笂鐨勬妧鏈漢鍛樹腑錛屽榪欎竴闂涔熷熀鏈笂鏄矞鏄庣殑瀵圭珛涓ゆ淳銆傞偅涔堝埌搴昷vm浼氫笉浼氬洖鏀墮暱涔呬笉鐢ㄧ殑鍗曚緥瀵硅薄鍛€€?/p><p style="margin: 0px; padding: 0px;">        瀵硅繖涓€闂錛岀瑪鑰呮湰浜虹殑瑙傜偣鏄細<strong>涓嶄細鍥炴敹銆?/strong></p><p style="margin: 0px; padding: 0px;">涓嬮潰緇欏嚭鏈漢鐨勬祴璇曚唬鐮?/p><div bg_java"="" style="width: 936.53125px;"><div><div><strong>[java]</strong> <a title="view plain" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_plain.gif); background-position: 0% 0%; background-repeat: no-repeat;">view plain</a><a title="copy" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_copy.gif); background-position: 0% 0%; background-repeat: no-repeat;">copy</a><div style="position: absolute; left: 440px; top: 755px; width: 18px; height: 18px; z-index: 99;"></div></div></div><ol start="1"><li style="line-height: 18px;">class Singleton {  </li><li style="line-height: 18px;">    private byte[] a = new byte[<span style="color: #c00000;">6</span>*<span style="color: #c00000;">1024</span>*<span style="color: #c00000;">1024</span>];  </li><li style="line-height: 18px;">    private static Singleton singleton = new Singleton();  </li><li style="line-height: 18px;">    private Singleton(){}  </li><li style="line-height: 18px;">      </li><li style="line-height: 18px;">    public static Singleton getInstance(){  </li><li style="line-height: 18px;">        return singleton;  </li><li style="line-height: 18px;">    }  </li><li style="line-height: 18px;">}  </li><li style="line-height: 18px;">  </li><li style="line-height: 18px;">class Obj {  </li><li style="line-height: 18px;">    private byte[] a = new byte[<span style="color: #c00000;">3</span>*<span style="color: #c00000;">1024</span>*<span style="color: #c00000;">1024</span>];  </li><li style="line-height: 18px;">}  </li><li style="line-height: 18px;">  </li><li style="line-height: 18px;">public class Client{  </li><li style="line-height: 18px;">    public static void main(String[] args) throws Exception{  </li><li style="line-height: 18px;">        Singleton.getInstance();  </li><li style="line-height: 18px;">        while(true){  </li><li style="line-height: 18px;">            new Obj();  </li><li style="line-height: 18px;">        }  </li><li style="line-height: 18px;">    }  </li><li style="line-height: 18px;">}  </li></ol></div><p style="margin: 0px; padding: 0px;">        鏈紼嬪簭鐨勭洰鐨勬槸妯℃嫙j2ee瀹瑰櫒錛岄鍏堝疄渚嬪寲鍗曚緥綾伙紝榪欎釜鍗曚緥綾誨崰6M鍐呭瓨錛岀劧鍚庣▼搴忚繘鍏ユ寰幆錛屼笉鏂殑鍒涘緩瀵硅薄錛岄€艱揩jvm榪涜鍨冨溇鍥炴敹錛岀劧鍚庤瀵熷瀮鍦炬敹闆嗕俊鎭紝濡傛灉榪涜鍨冨溇鏀墮泦鍚庯紝鍐呭瓨浠嶇劧澶т簬6M錛屽垯璇存槑鍨冨溇鍥炴敹涓嶄細鍥炴敹鍗曚緥瀵硅薄銆?/p><p style="margin: 0px; padding: 0px;">        榪愯鏈▼搴忎嬌鐢ㄧ殑铏氭嫙鏈烘槸hotspot铏氭嫙鏈猴紝涔熷氨鏄垜浠嬌鐢ㄧ殑鏈€澶氱殑java瀹樻柟鎻愪緵鐨勮櫄鎷熸満錛屼織縐癹dk錛岀増鏈槸jdk1.6.0_12</p><p style="margin: 0px; padding: 0px;">        榪愯鏃秜m arguments鍙傛暟涓猴細-verbose:gc -Xms20M -Xmx20M錛屾剰鎬濇槸姣忔jvm榪涜鍨冨溇鍥炴敹鏃舵樉紺哄唴瀛樹俊鎭紝jvm鐨勫唴瀛樿涓哄浐瀹?0M銆?/p><p style="margin: 0px; padding: 0px;"><strong>榪愯緇撴灉錛?/strong></p><p style="margin: 0px; padding: 0px;"><span style="color: #000099;">……</span></p><p align="left" style="margin: 0px; padding: 0px;"><span style="color: #000099;">[Full GC <strong>18566K->6278K</strong>(20352K), 0.0101066 secs]</span></p><p align="left" style="margin: 0px; padding: 0px;"><span style="color: #000099;">[GC <strong>18567K->18566K</strong>(20352K), 0.0001978 secs]</span></p><p align="left" style="margin: 0px; padding: 0px;"><span style="color: #000099;">[Full <strong>GC 18566K->6278K</strong>(20352K), 0.0088229 secs]</span></p><p align="left" style="margin: 0px; padding: 0px;"><span style="color: #000099;">……</span></p><p style="margin: 0px; padding: 0px;">        浠庤繍琛岀粨鏋滀腑鍙互鐪嬪埌鎬繪湁6M絀洪棿娌℃湁琚敹闆嗐€傚洜姝わ紝絎旇€呰涓猴紝鑷沖皯鍦╤otspot铏氭嫙鏈轟腑錛屽瀮鍦懼洖鏀舵槸涓嶄細鍥炴敹鍗曚緥瀵硅薄鐨勩€?/p><p style="margin: 0px; padding: 0px;">        鍚庢潵鏌ラ槄浜嗕竴浜涚浉鍏崇殑璧勬枡錛宧otspot铏氭嫙鏈虹殑鍨冨溇鏀墮泦綆楁硶浣跨敤鏍規悳绱㈢畻娉曘€傝繖涓畻娉曠殑鍩烘湰鎬濊礬鏄細瀵逛換浣?#8220;媧?#8221;鐨勫璞★紝涓€瀹氳兘鏈€緇堣拷婧埌鍏跺瓨媧誨湪鍫嗘爤鎴栭潤鎬佸瓨鍌ㄥ尯涔嬩腑鐨勫紩鐢ㄣ€傞€氳繃涓€緋誨垪鍚嶄負鏍癸紙GC Roots錛夌殑寮曠敤浣滀負璧風偣錛屼粠榪欎簺鏍瑰紑濮嬫悳绱紝緇忚繃涓€緋誨垪鐨勮礬寰勶紝濡傛灉鍙互鍒拌揪java鍫嗕腑鐨勫璞★紝閭d箞榪欎釜瀵硅薄灝辨槸“媧?#8221;鐨勶紝鏄笉鍙洖鏀剁殑銆傚彲浠ヤ綔涓烘牴鐨勫璞℃湁錛?/p><ul><li>铏氭嫙鏈烘爤錛堟爤妗腑鐨勬湰鍦板彉閲忚〃錛変腑鐨勫紩鐢ㄧ殑瀵硅薄銆?/li><li><strong>鏂規硶鍖轟腑鐨勭被闈欐€佸睘鎬у紩鐢ㄧ殑瀵硅薄銆?/strong></li><li>鏂規硶鍖轟腑鐨勫父閲忓紩鐢ㄧ殑瀵硅薄銆?/li><li>鏈湴鏂規硶鏍堜腑JNI鐨勫紩鐢ㄧ殑瀵硅薄銆?/li></ul><p style="margin: 0px; padding: 0px;">        鏂規硶鍖烘槸jvm鐨勪竴鍧楀唴瀛樺尯鍩燂紝鐢ㄦ潵瀛樻斁綾葷浉鍏崇殑淇℃伅銆傚緢鏄庢樉錛宩ava涓崟渚嬫ā寮忓垱寤虹殑瀵硅薄琚嚜宸辯被涓殑闈欐€佸睘鎬ф墍寮曠敤錛岀鍚堢浜屾潯錛屽洜姝わ紝鍗曚緥瀵硅薄涓嶄細琚玧vm鍨冨溇鏀墮泦銆?/p><p style="margin: 0px; padding: 0px;">        铏界劧jvm鍫嗕腑鐨勫崟渚嬪璞′笉浼氳鍨冨溇鏀墮泦錛屼絾鏄崟渚嬬被鏈韓濡傛灉闀挎椂闂翠笉鐢ㄤ細涓嶄細琚敹闆嗗憿錛熷洜涓簀vm瀵規柟娉曞尯涔熸槸鏈夊瀮鍦炬敹闆嗘満鍒剁殑銆傚鏋滃崟渚嬬被琚敹闆嗭紝閭d箞鍫嗕腑鐨勫璞″氨浼氬け鍘誨埌鏍圭殑璺緞錛屽繀鐒朵細琚瀮鍦炬敹闆嗘帀銆傚姝わ紝絎旇€呮煡闃呬簡hotspot铏氭嫙鏈哄鏂規硶鍖虹殑鍨冨溇鏀墮泦鏂規硶錛宩vm鍗歌澆綾葷殑鍒ゅ畾鏉′歡濡備笅錛?/p><ul><li><strong>璇ョ被鎵€鏈夌殑瀹炰緥閮藉凡緇忚鍥炴敹錛屼篃灝辨槸java鍫嗕腑涓嶅瓨鍦ㄨ綾葷殑浠諱綍瀹炰緥銆?/strong></li><li>鍔犺澆璇ョ被鐨凜lassLoader宸茬粡琚洖鏀躲€?/li><li>璇ョ被瀵瑰簲鐨刯ava.lang.Class瀵硅薄娌℃湁浠諱綍鍦版柟琚紩鐢紝鏃犳硶鍦ㄤ換浣曞湴鏂歸€氳繃鍙嶅皠璁塊棶璇ョ被鐨勬柟娉曘€?/li></ul><p style="margin: 0px; padding: 0px;">        鍙湁涓変釜鏉′歡閮芥弧瓚籌紝jvm鎵嶄細鍦ㄥ瀮鍦炬敹闆嗙殑鏃跺€欏嵏杞界被銆傛樉鐒訛紝鍗曚緥鐨勭被涓嶆弧瓚蟲潯浠朵竴錛屽洜姝ゅ崟渚嬬被涔熶笉浼氳鍗歌澆銆備篃灝辨槸璇達紝鍙鍗曚緥綾諱腑鐨勯潤鎬佸紩鐢ㄦ寚鍚慾vm鍫嗕腑鐨勫崟渚嬪璞★紝閭d箞鍗曚緥綾誨拰鍗曚緥瀵硅薄閮戒笉浼氳鍨冨溇鏀墮泦錛屼緷鎹牴鎼滅儲綆楁硶錛屽璞℃槸鍚︿細琚瀮鍦炬敹闆嗕笌鏈浣跨敤鏃墮棿闀跨煭鏃犲叧錛屼粎浠呭湪浜庤繖涓璞℃槸涓嶆槸“媧?#8221;鐨勩€傚亣濡備竴涓璞¢暱涔呮湭浣跨敤鑰岃鍥炴敹錛岄偅涔堟敹闆嗙畻娉曞簲璇ユ槸鏈€榪戞渶闀挎湭浣跨敤綆楁硶錛屾渶榪戞渶闀挎湭浣跨敤綆楁硶涓€鑸敤鍦ㄦ搷浣滅郴緇熺殑鍐呭瀛樹氦鎹腑錛屽鏋滅敤鍦ㄨ櫄鎷熸満鍨冨溇鍥炴敹涓紝宀備笉鏄お涓嶅畨鍏ㄤ簡錛熶互涓婃槸絎旇€呯殑瑙傜偣銆?/p><p style="margin: 0px; padding: 0px;">        鍥犳絎旇€呯殑瑙傜偣鏄細<strong>鍦╤otspot铏氭嫙鏈?.6鐗堟湰涓紝闄ら潪浜轟負鍦版柇寮€鍗曚緥涓潤鎬佸紩鐢ㄥ埌鍗曚緥瀵硅薄鐨勮仈鎺ワ紝鍚﹀垯jvm鍨冨溇鏀墮泦鍣ㄦ槸涓嶄細鍥炴敹鍗曚緥瀵硅薄鐨勩€?/strong></p></div><img src ="http://www.aygfsteel.com/wxb1988/aggbug/426345.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wxb1988/" target="_blank">wxb1988</a> 2015-07-20 22:30 <a href="http://www.aygfsteel.com/wxb1988/archive/2015/07/20/426345.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍗曚緥妯″紡錛?錛?/title><link>http://www.aygfsteel.com/wxb1988/archive/2015/07/20/426344.html</link><dc:creator>wxb1988</dc:creator><author>wxb1988</author><pubDate>Mon, 20 Jul 2015 14:28:00 GMT</pubDate><guid>http://www.aygfsteel.com/wxb1988/archive/2015/07/20/426344.html</guid><wfw:comment>http://www.aygfsteel.com/wxb1988/comments/426344.html</wfw:comment><comments>http://www.aygfsteel.com/wxb1988/archive/2015/07/20/426344.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wxb1988/comments/commentRss/426344.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wxb1988/services/trackbacks/426344.html</trackback:ping><description><![CDATA[     鎽樿: 鍗曚緥瀵硅薄錛圫ingleton錛夋槸涓€縐嶅父鐢ㄧ殑璁捐妯″紡銆傚湪Java搴旂敤涓紝鍗曚緥瀵硅薄鑳戒繚璇佸湪涓€涓狫VM涓紝璇ュ璞″彧鏈変竴涓疄渚嬪瓨鍦ㄣ€傝繖鏍風殑妯″紡鏈夊嚑涓ソ澶勶細1銆佹煇浜涚被鍒涘緩姣旇緝棰戠箒錛屽浜庝竴浜涘ぇ鍨嬬殑瀵硅薄錛岃繖鏄竴絎斿緢澶х殑緋葷粺寮€閿€銆?銆佺渷鍘諱簡new鎿嶄綔絎︼紝闄嶄綆浜嗙郴緇熷唴瀛樼殑浣跨敤棰戠巼錛屽噺杞籊C鍘嬪姏銆?銆佹湁浜涚被濡備氦鏄撴墍鐨勬牳蹇冧氦鏄撳紩鎿庯紝鎺у埗鐫€浜ゆ槗嫻佺▼錛屽鏋滆綾誨彲浠ュ垱寤哄涓殑璇濓紝緋葷粺瀹屽叏涔變簡銆傦紙姣斿涓€涓啗闃熷嚭鐜頒簡澶氫釜鍙鎬護鍛樺悓...  <a href='http://www.aygfsteel.com/wxb1988/archive/2015/07/20/426344.html'>闃呰鍏ㄦ枃</a><img src ="http://www.aygfsteel.com/wxb1988/aggbug/426344.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wxb1988/" target="_blank">wxb1988</a> 2015-07-20 22:28 <a href="http://www.aygfsteel.com/wxb1988/archive/2015/07/20/426344.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>宸ュ巶鏂規硶妯″紡錛?錛?/title><link>http://www.aygfsteel.com/wxb1988/archive/2015/07/20/426342.html</link><dc:creator>wxb1988</dc:creator><author>wxb1988</author><pubDate>Mon, 20 Jul 2015 14:20:00 GMT</pubDate><guid>http://www.aygfsteel.com/wxb1988/archive/2015/07/20/426342.html</guid><wfw:comment>http://www.aygfsteel.com/wxb1988/comments/426342.html</wfw:comment><comments>http://www.aygfsteel.com/wxb1988/archive/2015/07/20/426342.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wxb1988/comments/commentRss/426342.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wxb1988/services/trackbacks/426342.html</trackback:ping><description><![CDATA[     鎽樿: 8.1 濂沖ú閫犱漢鐨勬晠浜?nbsp;     涓滄眽銆婇淇楅€氥€嬭褰曚簡涓€鍒欑璇濇晠浜嬶細“寮€澶╄緹杈燂紝鏈湁浜烘皯錛屽コ濞叉悘錛岄粍鍦熶綔浜?#8230;…”錛岃榪扮殑鍐呭灝辨槸澶у闈炲父鐔熸倝鐨勫コ濞查€犱漢鐨勬晠浜嬨€傚紑澶╄緹鍦頒箣鍒濓紝澶у湴涓婂茍娌℃湁鐢熺墿錛屽彧鏈夎媿鑼ぇ鍦幫紝綰補鑰屾磥鍑€鐨勮嚜鐒剁幆澧冿紝瀵傞潤鑰屽張瀵傚癁錛屼簬鏄コ濞插喅瀹氬垱閫犱竴涓柊鐗╃錛堝嵆浜虹被錛夋潵澧炲姞涓栫晫鐨勭箒鑽o紝鎬庝箞鍒墮€?..  <a href='http://www.aygfsteel.com/wxb1988/archive/2015/07/20/426342.html'>闃呰鍏ㄦ枃</a><img src ="http://www.aygfsteel.com/wxb1988/aggbug/426342.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wxb1988/" target="_blank">wxb1988</a> 2015-07-20 22:20 <a href="http://www.aygfsteel.com/wxb1988/archive/2015/07/20/426342.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>宸ュ巶鏂規硶妯″紡(2)http://www.aygfsteel.com/wxb1988/archive/2015/07/20/426343.htmlwxb1988wxb1988Mon, 20 Jul 2015 14:20:00 GMThttp://www.aygfsteel.com/wxb1988/archive/2015/07/20/426343.htmlhttp://www.aygfsteel.com/wxb1988/comments/426343.htmlhttp://www.aygfsteel.com/wxb1988/archive/2015/07/20/426343.html#Feedback0http://www.aygfsteel.com/wxb1988/comments/commentRss/426343.htmlhttp://www.aygfsteel.com/wxb1988/services/trackbacks/426343.html宸ュ巶鏂規硶妯″紡錛團actory Method錛?/span>

綆€鍗曞伐鍘傛ā寮忔湁涓€涓棶棰樺氨鏄紝綾葷殑鍒涘緩渚濊禆宸ュ巶綾伙紝涔熷氨鏄錛屽鏋滄兂瑕佹嫇灞曠▼搴忥紝蹇呴』瀵瑰伐鍘傜被榪涜淇敼錛岃繖榪濊儗浜嗛棴鍖呭師鍒欙紝鎵€浠ワ紝浠庤璁¤搴﹁€冭檻錛屾湁涓€瀹氱殑闂錛屽浣曡В鍐籌紵灝辯敤鍒板伐鍘傛柟娉曟ā寮忥紝鍒涘緩涓€涓伐鍘傛帴鍙e拰鍒涘緩澶氫釜宸ュ巶瀹炵幇綾伙紝榪欐牱涓€鏃﹂渶瑕佸鍔犳柊鐨勫姛鑳斤紝鐩存帴澧炲姞鏂扮殑宸ュ巶綾誨氨鍙互浜嗭紝涓嶉渶瑕佷慨鏀逛箣鍓嶇殑浠g爜銆?/p>

璇風湅渚嬪瓙錛?/p>

  1. public interface Sender {  
  2.     public void Send();  
  3. }  

涓や釜瀹炵幇綾伙細

  1. public class MailSender implements Sender {  
  2.     @Override  
  3.     public void Send() {  
  4.         System.out.println("this is mailsender!");  
  5.     }  
  6. }  
  1. public class SmsSender implements Sender {  
  2.   
  3.     @Override  
  4.     public void Send() {  
  5.         System.out.println("this is sms sender!");  
  6.     }  
  7. }  

涓や釜宸ュ巶綾伙細

  1. public class SendMailFactory implements Provider {  
  2.       
  3.     @Override  
  4.     public Sender produce(){  
  5.         return new MailSender();  
  6.     }  
  7. }  
  1. public class SendSmsFactory implements Provider{  
  2.   
  3.     @Override  
  4.     public Sender produce() {  
  5.         return new SmsSender();  
  6.     }  
  7. }  

鍦ㄦ彁渚涗竴涓帴鍙o細

  1. public interface Provider {  
  2.     public Sender produce();  
  3. }  

嫻嬭瘯綾伙細

  1. public class Test {  
  2.   
  3.     public static void main(String[] args) {  
  4.         Provider provider = new SendMailFactory();  
  5.         Sender sender = provider.produce();  
  6.         sender.Send();  
  7.     }  
  8. }  

鍏跺疄榪欎釜妯″紡鐨勫ソ澶勫氨鏄紝濡傛灉浣犵幇鍦ㄦ兂澧炲姞涓€涓姛鑳斤細鍙戝強鏃朵俊鎭紝鍒欏彧闇€鍋氫竴涓疄鐜扮被錛屽疄鐜癝ender鎺ュ彛錛屽悓鏃跺仛涓€涓伐鍘傜被錛屽疄鐜癙rovider鎺ュ彛錛屽氨OK浜嗭紝鏃犻渶鍘繪敼鍔ㄧ幇鎴愮殑浠g爜銆傝繖鏍峰仛錛屾嫇灞曟€ц緝濂斤紒



2銆佹娊璞″伐鍘傛ā寮?/h3>

宸ュ巶鏂規硶妯″紡鍜屾娊璞″伐鍘傛ā寮忎笉濂藉垎娓呮錛屼粬浠殑鍖哄埆濡備笅錛?/p>

宸ュ巶鏂規硶妯″紡錛?涓€涓娊璞′駭鍝佺被錛屽彲浠ユ淳鐢熷嚭澶氫釜鍏蜂綋浜у搧綾匯€?   涓€涓娊璞″伐鍘傜被錛屽彲浠ユ淳鐢熷嚭澶氫釜鍏蜂綋宸ュ巶綾匯€?   姣忎釜鍏蜂綋宸ュ巶綾誨彧鑳藉垱寤轟竴涓叿浣撲駭鍝佺被鐨勫疄渚嬨€? 鎶借薄宸ュ巶妯″紡錛?澶氫釜鎶借薄浜у搧綾伙紝姣忎釜鎶借薄浜у搧綾誨彲浠ユ淳鐢熷嚭澶氫釜鍏蜂綋浜у搧綾匯€?   涓€涓娊璞″伐鍘傜被錛屽彲浠ユ淳鐢熷嚭澶氫釜鍏蜂綋宸ュ巶綾匯€?   姣忎釜鍏蜂綋宸ュ巶綾誨彲浠ュ垱寤哄涓叿浣撲駭鍝佺被鐨勫疄渚嬶紝涔熷氨鏄垱寤虹殑鏄竴涓駭鍝佺嚎涓嬬殑澶氫釜浜у搧銆?        鍖哄埆錛?宸ュ巶鏂規硶妯″紡鍙湁涓€涓娊璞′駭鍝佺被錛岃€屾娊璞″伐鍘傛ā寮忔湁澶氫釜銆?   宸ュ巶鏂規硶妯″紡鐨勫叿浣撳伐鍘傜被鍙兘鍒涘緩涓€涓叿浣撲駭鍝佺被鐨勫疄渚嬶紝鑰屾娊璞″伐鍘傛ā寮忓彲浠ュ垱寤哄涓€?/pre>
宸ュ巶鏂規硶鍒涘緩 "涓€縐? 浜у搧錛屼粬鐨勭潃閲嶇偣鍦ㄤ簬"鎬庝箞鍒涘緩"錛屼篃灝辨槸璇村鏋滀綘寮€鍙戯紝浣犵殑澶ч噺浠g爜寰堝彲鑳藉洿緇曠潃榪欑浜у搧鐨勬瀯閫狅紝鍒濆鍖栬繖浜涚粏鑺備笂闈€€備篃鍥犱負濡傛錛岀被浼肩殑浜у搧涔嬮棿鏈夊緢澶氬彲浠ュ鐢ㄧ殑鐗瑰緛錛屾墍浠ヤ細鍜屾ā鐗堟柟娉曠浉闅忋€?nbsp;

鎶借薄宸ュ巶闇€瑕佸垱寤轟竴浜涘垪浜у搧錛岀潃閲嶇偣鍦ㄤ簬"鍒涘緩鍝簺"浜у搧涓婏紝涔熷氨鏄錛屽鏋滀綘寮€鍙戯紝浣犵殑涓昏浠誨姟鏄垝鍒嗕笉鍚屽樊寮傜殑浜у搧綰匡紝騫朵笖灝介噺淇濇寔姣忔潯浜у搧綰挎帴鍙d竴鑷達紝浠庤€屽彲浠ヤ粠鍚屼竴涓娊璞″伐鍘傜戶鎵褲€?/span>

瀵逛簬java鏉ヨ錛屼綘鑳借鍒扮殑澶ч儴鍒嗘娊璞″伐鍘傛ā寮忛兘鏄繖鏍風殑錛?---瀹冪殑閲岄潰鏄竴鍫嗗伐鍘傛柟娉曪紝姣忎釜宸ュ巶鏂規硶榪斿洖鏌愮綾誨瀷鐨勫璞°€? 姣斿璇村伐鍘傚彲浠ョ敓浜ч紶鏍囧拰閿洏銆傞偅涔堟娊璞″伐鍘傜殑瀹炵幇綾伙紙瀹冪殑鏌愪釜鍏蜂綋瀛愮被錛夌殑瀵硅薄閮藉彲浠ョ敓浜ч紶鏍囧拰閿洏錛屼絾鍙兘宸ュ巶A鐢熶駭鐨勬槸緗楁妧鐨勯敭鐩樺拰榧犳爣錛屽伐鍘侭鏄井杞殑銆? 榪欐牱A鍜孊灝辨槸宸ュ巶錛屽搴斾簬鎶借薄宸ュ巶錛?姣忎釜宸ュ巶鐢熶駭鐨勯紶鏍囧拰閿洏灝辨槸浜у搧錛屽搴斾簬宸ュ巶鏂規硶錛? 鐢ㄤ簡宸ュ巶鏂規硶妯″紡錛屼綘鏇挎崲鐢熸垚閿洏鐨勫伐鍘傛柟娉曪紝灝卞彲浠ユ妸閿洏浠庣綏鎶€鎹㈠埌寰蔣銆備絾鏄敤浜嗘娊璞″伐鍘傛ā寮忥紝浣犲彧瑕佹崲瀹跺伐鍘傦紝灝卞彲浠ュ悓鏃舵浛鎹㈤紶鏍囧拰閿洏涓€濂椼€傚鏋滀綘瑕佺殑浜у搧鏈夊嚑鍗佷釜錛屽綋鐒剁敤鎶借薄宸ュ巶妯″紡涓€嬈℃浛鎹㈠叏閮ㄦ渶鏂逛究錛堣繖涓伐鍘備細鏇夸綘鐢ㄧ浉搴旂殑宸ュ巶鏂規硶錛? 鎵€浠ヨ鎶借薄宸ュ巶灝卞儚宸ュ巶錛岃€屽伐鍘傛柟娉曞垯鍍忔槸宸ュ巶鐨勪竴縐嶄駭鍝佺敓浜х嚎


wxb1988 2015-07-20 22:20 鍙戣〃璇勮
]]>綆€鍗曞伐鍘傛ā寮?2)http://www.aygfsteel.com/wxb1988/archive/2015/07/20/426341.htmlwxb1988wxb1988Mon, 20 Jul 2015 14:05:00 GMThttp://www.aygfsteel.com/wxb1988/archive/2015/07/20/426341.htmlhttp://www.aygfsteel.com/wxb1988/comments/426341.htmlhttp://www.aygfsteel.com/wxb1988/archive/2015/07/20/426341.html#Feedback0http://www.aygfsteel.com/wxb1988/comments/commentRss/426341.htmlhttp://www.aygfsteel.com/wxb1988/services/trackbacks/426341.html綆€鍗曞伐鍘傛ā寮?/span>

綆€鍗曞伐鍘傛ā寮忔ā寮忓垎涓轟笁縐嶏細

01銆佹櫘閫?/em>

灝辨槸寤虹珛涓€涓伐鍘傜被錛屽瀹炵幇浜嗗悓涓€鎺ュ彛鐨勪竴浜涚被榪涜瀹炰緥鐨勫垱寤恒€傞鍏堢湅涓嬪叧緋誨浘錛?/p>

涓句緥濡備笅錛氾紙鎴戜滑涓句竴涓彂閫侀偖浠跺拰鐭俊鐨勪緥瀛愶級

棣栧厛錛屽垱寤轟簩鑰呯殑鍏卞悓鎺ュ彛錛?/p>

  1. public interface Sender {  
  2.     public void Send();  
  3. }  

鍏舵錛屽垱寤哄疄鐜扮被錛?/p>

  1. public class MailSender implements Sender {  
  2.     @Override  
  3.     public void Send() {  
  4.         System.out.println("this is mailsender!");  
  5.     }  
  6. }  
  1. public class SmsSender implements Sender {  
  2.   
  3.     @Override  
  4.     public void Send() {  
  5.         System.out.println("this is sms sender!");  
  6.     }  
  7. }  

鏈€鍚庯紝寤哄伐鍘傜被錛?/p>

  1. public class SendFactory {  
  2.   
  3.     public Sender produce(String type) {  
  4.         if ("mail".equals(type)) {  
  5.             return new MailSender();  
  6.         } else if ("sms".equals(type)) {  
  7.             return new SmsSender();  
  8.         } else {  
  9.             System.out.println("璇瘋緭鍏ユ紜殑綾誨瀷!");  
  10.             return null;  
  11.         }  
  12.     }  
  13. }  

鎴戜滑鏉ユ祴璇曚笅錛?/p>

  1. public class FactoryTest {  
  2.   
  3.     public static void main(String[] args) {  
  4.         SendFactory factory = new SendFactory();  
  5.         Sender sender = factory.produce("sms");  
  6.         sender.Send();  
  7.     }  
  8. }  

杈撳嚭錛歵his is sms sender!

02銆佸涓柟娉?/em>

鏄鏅€氬伐鍘傛柟娉曟ā寮忕殑鏀硅繘錛屽湪鏅€氬伐鍘傛柟娉曟ā寮忎腑錛屽鏋滀紶閫掔殑瀛楃涓插嚭閿欙紝鍒欎笉鑳芥紜垱寤哄璞★紝鑰屽涓伐鍘傛柟娉曟ā寮忔槸鎻愪緵澶氫釜宸ュ巶鏂規硶錛屽垎鍒垱寤哄璞°€傚叧緋誨浘錛?/p>

灝嗕笂闈㈢殑浠g爜鍋氫笅淇敼錛屾敼鍔ㄤ笅SendFactory綾誨氨琛岋紝濡備笅錛?/p>

[java] view plaincopypublic class SendFactory {  
   public Sender produceMail(){  
  1.         return new MailSender();  
  2.     }  
  3.       
  4.     public Sender produceSms(){  
  5.         return new SmsSender();  
  6.     }  
  7. }  

嫻嬭瘯綾誨涓嬶細

  1. public class FactoryTest {  
  2.   
  3.     public static void main(String[] args) {  
  4.         SendFactory factory = new SendFactory();  
  5.         Sender sender = factory.produceMail();  
  6.         sender.Send();  
  7.     }  
  8. }  

杈撳嚭錛歵his is mailsender!

03銆佸涓潤鎬佹柟娉?/em>

灝嗕笂闈㈢殑澶氫釜宸ュ巶鏂規硶妯″紡閲岀殑鏂規硶緗負闈欐€佺殑錛屼笉闇€瑕佸垱寤哄疄渚嬶紝鐩存帴璋冪敤鍗沖彲銆?/p>

  1. public class SendFactory {  
  2.       
  3.     public static Sender produceMail(){  
  4.         return new MailSender();  
  5.     }  
  6.       
  7.     public static Sender produceSms(){  
  8.         return new SmsSender();  
  9.     }  
  10. }  
  1. public class FactoryTest {  
  2.   
  3.     public static void main(String[] args) {      
  4.         Sender sender = SendFactory.produceMail();  
  5.         sender.Send();  
  6.     }  
  7. }  

杈撳嚭錛歵his is mailsender!

鎬諱綋鏉ヨ錛屽伐鍘傛ā寮忛€傚悎錛氬嚒鏄嚭鐜頒簡澶ч噺鐨勪駭鍝侀渶瑕佸垱寤猴紝騫朵笖鍏鋒湁鍏卞悓鐨勬帴鍙f椂錛屽彲浠ラ€氳繃宸ュ巶鏂規硶妯″紡榪涜鍒涘緩銆傚湪浠ヤ笂鐨勪笁縐嶆ā寮忎腑錛岀涓€縐嶅鏋滀紶鍏ョ殑瀛楃涓叉湁璇紝涓嶈兘姝g‘鍒涘緩瀵硅薄錛岀涓夌鐩稿浜庣浜岀錛屼笉闇€瑕佸疄渚嬪寲宸ュ巶綾伙紝鎵€浠ワ紝澶у鏁版儏鍐典笅錛屾垜浠細閫夌敤絎笁縐?#8212;—闈欐€佸伐鍘傛柟娉曟ā寮忋€?/p>

wxb1988 2015-07-20 22:05 鍙戣〃璇勮
]]>
綆€鍗曞伐鍘傛ā寮?1)http://www.aygfsteel.com/wxb1988/archive/2015/07/20/426340.htmlwxb1988wxb1988Mon, 20 Jul 2015 13:58:00 GMThttp://www.aygfsteel.com/wxb1988/archive/2015/07/20/426340.htmlhttp://www.aygfsteel.com/wxb1988/comments/426340.htmlhttp://www.aygfsteel.com/wxb1988/archive/2015/07/20/426340.html#Feedback0http://www.aygfsteel.com/wxb1988/comments/commentRss/426340.htmlhttp://www.aygfsteel.com/wxb1988/services/trackbacks/426340.html綆€鍗曞伐鍘傛ā寮忚В閲婏細 

       綆€鍗曞伐鍘傛ā寮忥紙Simple Factory Pattern錛夊睘浜庣被鐨勫垱鏂板瀷妯″紡錛屽張鍙潤鎬佸伐鍘傛柟娉曟ā寮忥紙Static FactoryMethod Pattern錛?鏄€氳繃涓撻棬瀹氫箟涓€涓被鏉ヨ礋璐e垱寤哄叾浠栫被鐨勫疄渚嬶紝琚垱寤虹殑瀹炰緥閫氬父閮藉叿鏈夊叡鍚岀殑鐖剁被銆?/p>

綆€鍗曞伐鍘傛ā寮忕殑UML鍥撅細 

       綆€鍗曞伐鍘傛ā寮忎腑鍖呭惈鐨勮鑹插強鍏剁浉搴旂殑鑱岃矗濡備笅錛?/p>

       宸ュ巶瑙掕壊錛圕reator錛夛細榪欐槸綆€鍗曞伐鍘傛ā寮忕殑鏍稿績錛岀敱瀹冭礋璐e垱寤烘墍鏈夌殑綾葷殑鍐呴儴閫昏緫銆傚綋鐒跺伐鍘傜被蹇呴』鑳藉琚鐣岃皟鐢紝鍒涘緩鎵€闇€瑕佺殑浜у搧瀵硅薄銆?/p>

       鎶借薄錛圥roduct錛変駭鍝佽鑹詫細綆€鍗曞伐鍘傛ā寮忔墍鍒涘緩鐨勬墍鏈夊璞$殑鐖剁被錛屾敞鎰忥紝榪欓噷鐨勭埗綾誨彲浠ユ槸鎺ュ彛涔熷彲浠ユ槸鎶借薄綾伙紝瀹冭礋璐f弿榪版墍鏈夊疄渚嬫墍鍏辨湁鐨勫叕鍏辨帴鍙c€?/p>

       鍏蜂綋浜у搧錛圕oncrete Product錛夎鑹詫細綆€鍗曞伐鍘傛墍鍒涘緩鐨勫叿浣撳疄渚嬪璞★紝榪欎簺鍏蜂綋鐨勪駭鍝佸線寰€閮芥嫢鏈夊叡鍚岀殑鐖剁被銆?/p>

綆€鍗曞伐鍘傛ā寮忔繁鍏ュ垎鏋?/strong>錛?/p>

       綆€鍗曞伐鍘傛ā寮忚В鍐崇殑闂鏄浣曞幓瀹炰緥鍖栦竴涓悎閫傜殑瀵硅薄銆?/p>

       綆€鍗曞伐鍘傛ā寮忕殑鏍稿績鎬濇兂灝辨槸錛氭湁涓€涓笓闂ㄧ殑綾繪潵璐熻矗鍒涘緩瀹炰緥鐨勮繃紼嬨€?/p>

       鍏蜂綋鏉ヨ錛屾妸浜у搧鐪嬬潃鏄竴緋誨垪鐨勭被鐨勯泦鍚堬紝榪欎簺綾繪槸鐢辨煇涓娊璞$被鎴栬€呮帴鍙f淳鐢熷嚭鏉ョ殑涓€涓璞℃爲銆傝€屽伐鍘傜被鐢ㄦ潵浜х敓涓€涓悎閫傜殑瀵硅薄鏉ユ弧瓚沖鎴風殑瑕佹眰銆?/p>

       濡傛灉綆€鍗曞伐鍘傛ā寮忔墍娑夊強鍒扮殑鍏蜂綋浜у搧涔嬮棿娌℃湁鍏卞悓鐨勯€昏緫錛岄偅涔堟垜浠氨鍙互浣跨敤鎺ュ彛鏉ユ壆婕旀娊璞′駭鍝佺殑瑙掕壊錛涘鏋滃叿浣撲駭鍝佷箣闂存湁鍔熻兘鐨勯€昏緫鎴栵紝鎴戜滑灝卞繀欏繪妸榪欎簺鍏卞悓鐨勪笢瑗挎彁鍙栧嚭鏉ワ紝鏀懼湪涓€涓娊璞$被涓紝鐒跺悗璁╁叿浣撲駭鍝佺戶鎵挎娊璞$被銆備負瀹炵幇鏇村ソ澶嶇敤鐨勭洰鐨勶紝鍏卞悓鐨勪笢瑗挎€繪槸搴旇鎶借薄鍑烘潵鐨勩€?/p>

       鍦ㄥ疄闄呯殑鐨勪嬌鐢ㄤ腑錛屾娊闂蹭駭鍝佸拰鍏蜂綋浜у搧涔嬮棿寰€寰€鏄灞傛鐨勪駭鍝佺粨鏋勶紝濡備笅鍥炬墍紺猴細

綆€鍗曞伐鍘傛ā寮忎嬌鐢ㄥ満鏅垎鏋愬強浠g爜瀹炵幇錛?nbsp;

       GG璇瘋嚜宸辯殑濂蟲湅鍙嬪拰浼楀緹庡コ鍚冮キ錛屼絾鏄疓G鑷繁鏄笉浼氬仛楗殑鎴栬€呭仛鐨勯キ寰堜笉濂斤紝榪欒鏄嶨G涓嶇敤鑷繁鍘誨垱寤哄悇縐嶉鐗╃殑瀵硅薄錛涘悇涓編濂抽兘鏈夊悇鑷殑鐖卞ソ錛屽埌楹﹀綋鍔沖悗濂逛滑鍠滄鍚冧粈涔堢洿鎺ュ幓鐐瑰氨琛屼簡錛岄害褰撳姵灝辨槸鐢熶駭鍚勭椋熺墿鐨勫伐鍘傦紝榪欐椂鍊橤G涓嶇敤鑷繁鍔ㄦ墜錛屼篃鍙互璇瘋繖涔堝緹庡コ鍚冮キ錛屾墍瑕佸仛鐨勫氨鏄拱鍗昈(∩_∩)O鍝堝搱~,鍏禪ML鍥懼涓嬫墍紺猴細

       瀹炵幇浠g爜濡備笅錛?/p>

       鏂板緩绔嬩竴涓鐗╃殑鎺ュ彛錛?/p>

package com.diermeng.designPattern.SimpleFactory;

 

/*

 * 浜у搧鐨勬娊璞℃帴鍙?/p>

 */

public interface Food {

    /*

     * 鑾峰緱鐩稿簲鐨勯鐗?/p>

     */

    public void get();

}

鎺ヤ笅鏉ュ緩绔嬪叿浣撶殑浜у搧錛氶害棣欓浮鍜岃柉鏉?/p>

package com.diermeng.designPattern.SimpleFactory.impl;

import com.diermeng.designPattern.SimpleFactory.Food;

 

/*

 * 楹﹂楦″鎶借薄浜у搧鎺ュ彛鐨勫疄鐜?/p>

 */

public class McChicken implements Food{

    /*

     * 鑾峰彇涓€浠介害棣欓浮

     */

    public void get(){

        System.out.println("鎴戣涓€浠介害棣欓浮");

    }

}

package com.diermeng.designPattern.SimpleFactory.impl;

import com.diermeng.designPattern.SimpleFactory.Food;

 

/*

 * 钖潯瀵規娊璞′駭鍝佹帴鍙g殑瀹炵幇

 */

public class Chips implements Food{

    /*

     * 鑾峰彇涓€浠借柉鏉?/p>

     */

    public void get(){

        System.out.println("鎴戣涓€浠借柉鏉?);

    }

}

鐜板湪寤虹珛涓€涓鐗╁姞宸ュ伐鍘傦細

package com.diermeng.designPattern.SimpleFactory.impl;

import com.diermeng.designPattern.SimpleFactory.Food;

 

 

public class FoodFactory {

 

    public static Food getFood(String type) throws InstantiationException, IllegalAccessException, ClassNotFoundException {

        if(type.equalsIgnoreCase("mcchicken")) {

            return McChicken.class.newInstance();

 

        } else if(type.equalsIgnoreCase("chips")) {

            return Chips.class.newInstance();

        } else {

            System.out.println("鍝庡憖錛佹壘涓嶅埌鐩稿簲鐨勫疄渚嬪寲綾誨暒錛?);

            return null;

        }

 

 

    }

}

鏈€鍚庢垜浠緩绔嬫祴璇曞鎴風錛?/p>

package com.diermeng.designPattern.SimpleFactory.client;

import com.diermeng.designPattern.SimpleFactory.Food;

import com.diermeng.designPattern.SimpleFactory.impl.FoodFactory;

 

/*

 * 嫻嬭瘯瀹㈡埛绔?/p>

 */

public class SimpleFactoryTest {

    public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException {

 

        //瀹炰緥鍖栧悇縐嶉鐗?/p>

        Food mcChicken = FoodFactory.getFood("McChicken");

        Food chips = FoodFactory.getFood("Chips");

        Food eggs = FoodFactory.getFood("Eggs");

 

        //鑾峰彇椋熺墿

        if(mcChicken!=null){

            mcChicken.get();

        }

        if(chips!=null){

            chips.get();

        }

        if(eggs!=null){

            eggs.get();

        }

 

 

    }

}

杈撳嚭鐨勭粨鏋滃涓嬶細

鍝庡憖錛佹壘涓嶅埌鐩稿簲鐨勫疄渚嬪寲綾誨暒錛?/p>

鎴戣涓€浠介害棣欓浮

鎴戣涓€浠借柉鏉?/p>

綆€鍗曞伐鍘傛ā寮忕殑浼樼己鐐瑰垎鏋愶細 

       浼樼偣錛氬伐鍘傜被鏄暣涓ā寮忕殑鍏抽敭鎵€鍦ㄣ€傚畠鍖呭惈蹇呰鐨勫垽鏂€昏緫錛岃兘澶熸牴鎹鐣岀粰瀹氱殑淇℃伅錛屽喅瀹氱┒绔熷簲璇ュ垱寤哄摢涓叿浣撶被鐨勫璞°€傜敤鎴峰湪浣跨敤鏃跺彲浠ョ洿鎺ユ牴鎹伐鍘傜被鍘誨垱寤烘墍闇€鐨勫疄渚嬶紝鑰屾棤闇€浜嗚В榪欎簺瀵硅薄鏄浣曞垱寤轟互鍙婂浣曠粍緇囩殑銆傛湁鍒╀簬鏁翠釜杞歡浣撶郴緇撴瀯鐨勪紭鍖栥€?/p>

      緙虹偣錛氱敱浜庡伐鍘傜被闆嗕腑浜嗘墍鏈夊疄渚嬬殑鍒涘緩閫昏緫錛岃繖灝辯洿鎺ュ鑷翠竴鏃﹁繖涓伐鍘傚嚭浜嗛棶棰橈紝鎵€鏈夌殑瀹㈡埛绔兘浼氬彈鍒扮壍榪烇紱鑰屼笖鐢變簬綆€鍗曞伐鍘傛ā寮忕殑浜у搧瀹ゅ熀浜庝竴涓叡鍚岀殑鎶借薄綾繪垨鑰呮帴鍙o紝榪欐牱涓€鏉ワ紝浣嗕駭鍝佺殑縐嶇被澧炲姞鐨勬椂鍊欙紝鍗蟲湁涓嶅悓鐨勪駭鍝佹帴鍙f垨鑰呮娊璞$被鐨勬椂鍊欙紝宸ュ巶綾誨氨闇€瑕佸垽鏂綍鏃跺垱寤轟綍縐嶇綾葷殑浜у搧錛岃繖灝卞拰鍒涘緩浣曠縐嶇被浜у搧鐨勪駭鍝佺浉浜掓販娣嗗湪浜嗕竴璧鳳紝榪濊儗浜嗗崟涓€鑱岃矗錛屽鑷寸郴緇熶撫澶辯伒媧繪€у拰鍙淮鎶ゆ€с€傝€屼笖鏇撮噸瑕佺殑鏄紝綆€鍗曞伐鍘傛ā寮忚繚鑳屼簡“寮€鏀懼皝闂師鍒?#8221;錛屽氨鏄繚鑳屼簡“緋葷粺瀵規墿灞曞紑鏀撅紝瀵逛慨鏀瑰叧闂?#8221;鐨勫師鍒欙紝鍥犱負褰撴垜鏂板鍔犱竴涓駭鍝佺殑鏃跺€欏繀欏諱慨鏀瑰伐鍘傜被錛岀浉搴旂殑宸ュ巶綾誨氨闇€瑕侀噸鏂扮紪璇戜竴閬嶃€?/p>

      鎬葷粨涓€涓嬶細綆€鍗曞伐鍘傛ā寮忓垎紱諱駭鍝佺殑鍒涘緩鑰呭拰娑堣垂鑰咃紝鏈夊埄浜庤蔣浠剁郴緇熺粨鏋勭殑浼樺寲錛涗絾鏄敱浜庝竴鍒囬€昏緫閮介泦涓湪涓€涓伐鍘傜被涓紝瀵艱嚧浜嗘病鏈夊緢楂樼殑鍐呰仛鎬э紝鍚屾椂涔熻繚鑳屼簡“寮€鏀懼皝闂師鍒?#8221;銆傚彟澶栵紝綆€鍗曞伐鍘傛ā寮忕殑鏂規硶涓€鑸兘鏄潤鎬佺殑錛岃€岄潤鎬佸伐鍘傛柟娉曟槸鏃犳硶璁╁瓙綾葷戶鎵跨殑錛屽洜姝わ紝綆€鍗曞伐鍘傛ā寮忔棤娉曞艦鎴愬熀浜庡熀綾葷殑緇ф壙鏍戠粨鏋勩€?/p>

綆€鍗曞伐鍘傛ā寮忕殑瀹為檯搴旂敤綆€浠嬶細 

       浣滀負涓€涓渶鍩烘湰鍜屾渶綆€鍗曠殑璁捐妯″紡錛岀畝鍗曞伐鍘傛ā寮忓嵈鏈夊緢闈炲父騫挎硾鐨勫簲鐢紝鎴戜滑榪欓噷浠ava涓殑JDBC鎿嶄綔鏁版嵁搴撲負渚嬫潵璇存槑銆?/p>

        JDBC鏄疭UN鍏徃鎻愪緵鐨勪竴濂楁暟鎹簱緙栫▼鎺ュ彛API錛屽畠鍒╃敤Java璇█鎻愪緵綆€鍗曘€佷竴鑷寸殑鏂瑰紡鏉ヨ闂悇縐嶅叧緋誨瀷鏁版嵁搴撱€侸ava紼嬪簭閫氳繃JDBC鍙互鎵цSQL璇彞錛屽鑾峰彇鐨勬暟鎹繘琛屽鐞嗭紝騫跺皢鍙樺寲浜嗙殑鏁版嵁瀛樺洖鏁版嵁搴擄紝鍥犳錛孞DBC鏄疛ava搴旂敤紼嬪簭涓庡悇縐嶅叧緋繪暟鎹繘琛屽璇濈殑涓€縐嶆満鍒躲€傜敤JDBC榪涜鏁版嵁搴撹闂椂錛岃浣跨敤鏁版嵁搴撳巶鍟嗘彁渚涚殑椹卞姩紼嬪簭鎺ュ彛涓庢暟鎹簱綆$悊緋葷粺榪涜鏁版嵁浜や簰銆?/p>

瀹㈡埛绔浣跨敤浣跨敤鏁版嵁鏃訛紝鍙渶瑕佸拰宸ュ巶榪涜浜や簰鍗沖彲錛岃繖灝卞鑷存搷浣滄楠ゅ緱鍒版瀬澶х殑綆€鍖栵紝鎿嶄綔姝ラ鎸夌収欏哄簭渚濇涓猴細娉ㄥ唽騫跺姞杞芥暟鎹簱椹卞姩錛屼竴鑸嬌鐢–lass.forName();鍒涘緩涓庢暟鎹簱鐨勯摼鎺onnection瀵硅薄錛涘垱寤篠QL璇彞瀵硅薄preparedStatement(sql)錛涙彁浜QL璇彞錛屾牴鎹疄闄呮儏鍐典嬌鐢╡xecuteQuery()鎴栬€卐xecuteUpdate()錛涙樉紺虹浉搴旂殑緇撴灉錛涘叧闂暟鎹簱銆?/p>

wxb1988 2015-07-20 21:58 鍙戣〃璇勮
]]>
UML綾誨浘鍑犵鍏崇郴鐨勬€葷粨http://www.aygfsteel.com/wxb1988/archive/2015/07/19/426312.htmlwxb1988wxb1988Sun, 19 Jul 2015 14:39:00 GMThttp://www.aygfsteel.com/wxb1988/archive/2015/07/19/426312.htmlhttp://www.aygfsteel.com/wxb1988/comments/426312.htmlhttp://www.aygfsteel.com/wxb1988/archive/2015/07/19/426312.html#Feedback0http://www.aygfsteel.com/wxb1988/comments/commentRss/426312.htmlhttp://www.aygfsteel.com/wxb1988/services/trackbacks/426312.html 鍦║ML綾誨浘涓紝甯歌鐨勬湁浠ヤ笅鍑犵鍏崇郴: 娉涘寲錛圙eneralization錛?  瀹炵幇錛圧ealization錛夛紝鍏寵仈錛圓ssociation)錛岃仛鍚堬紙Aggregation錛夛紝緇勫悎(Composition)錛屼緷璧?Dependency)

         1. 娉涘寲錛?/strong>Generalization錛?/strong>

        銆愭硾鍖栧叧緋匯€戯細鏄竴縐嶇戶鎵垮叧緋伙紝琛ㄧず涓€鑸笌鐗規畩鐨勫叧緋伙紝瀹冩寚瀹氫簡瀛愮被濡備綍鐗瑰寲鐖剁被鐨勬墍鏈夌壒寰佸拰琛屼負銆備緥濡傦細鑰佽檸鏄姩鐗╃殑涓€縐嶏紝鍗蟲湁鑰佽檸鐨勭壒鎬т篃鏈夊姩鐗╃殑鍏辨€с€?/p>

        銆愮澶存寚鍚戙€戯細甯︿笁瑙掔澶寸殑瀹炵嚎錛岀澶存寚鍚戠埗綾?/p>

UML綾誨浘鍑犵鍏崇郴鐨勬€葷粨 

        2. 瀹炵幇錛?/strong>Realization錛?/strong>

        銆愬疄鐜板叧緋匯€戯細鏄竴縐嶇被涓庢帴鍙g殑鍏崇郴錛岃〃紺虹被鏄帴鍙f墍鏈夌壒寰佸拰琛屼負鐨勫疄鐜?

        銆愮澶存寚鍚戙€戯細甯︿笁瑙掔澶寸殑铏氱嚎錛岀澶存寚鍚戞帴鍙?/p>

UML綾誨浘鍑犵鍏崇郴鐨勬€葷粨 

        3. 鍏寵仈錛?/strong>Association)

        銆愬叧鑱斿叧緋匯€戯細鏄竴縐嶆嫢鏈夌殑鍏崇郴錛屽畠浣夸竴涓被鐭ラ亾鍙︿竴涓被鐨勫睘鎬у拰鏂規硶錛涘錛氳€佸笀涓庡鐢燂紝涓堝か涓庡瀛愬叧鑱斿彲浠ユ槸鍙屽悜鐨勶紝涔熷彲浠ユ槸鍗曞悜鐨勩€傚弻鍚戠殑鍏寵仈鍙互鏈変袱涓澶存垨鑰呮病鏈夌澶達紝鍗曞悜鐨勫叧鑱旀湁涓€涓澶淬€?/p>

        銆愪唬鐮佷綋鐜般€戯細鎴愬憳鍙橀噺

        銆愮澶村強鎸囧悜銆戯細甯︽櫘閫氱澶寸殑瀹炲績綰匡紝鎸囧悜琚嫢鏈夎€?/p>

UML綾誨浘鍑犵鍏崇郴鐨勬€葷粨 

        涓婂浘涓紝鑰佸笀涓庡鐢熸槸鍙屽悜鍏寵仈錛岃€佸笀鏈夊鍚嶅鐢燂紝瀛︾敓涔熷彲鑳芥湁澶氬悕鑰佸笀銆備絾瀛︾敓涓庢煇璇劇▼闂寸殑鍏崇郴涓哄崟鍚戝叧鑱旓紝涓€鍚嶅鐢熷彲鑳借涓婂闂ㄨ紼嬶紝璇劇▼鏄釜鎶借薄鐨勪笢瑗夸粬涓嶆嫢鏈夊鐢熴€?nbsp;

        涓嬪浘涓鴻嚜韜叧鑱旓細 

UML綾誨浘鍑犵鍏崇郴鐨勬€葷粨

        4. 鑱氬悎錛?/strong>Aggregation錛?/strong>

        銆愯仛鍚堝叧緋匯€戯細鏄暣浣撲笌閮ㄥ垎鐨勫叧緋伙紝涓旈儴鍒嗗彲浠ョ寮€鏁翠綋鑰屽崟鐙瓨鍦ㄣ€傚杞﹀拰杞儙鏄暣浣撳拰閮ㄥ垎鐨勫叧緋伙紝杞儙紱誨紑杞︿粛鐒跺彲浠ュ瓨鍦ㄣ€?/p>

        鑱氬悎鍏崇郴鏄叧鑱斿叧緋葷殑涓€縐嶏紝鏄己鐨勫叧鑱斿叧緋伙紱鍏寵仈鍜岃仛鍚堝湪璇硶涓婃棤娉曞尯鍒嗭紝蹇呴』鑰冨療鍏蜂綋鐨勯€昏緫鍏崇郴銆?/p>

        銆愪唬鐮佷綋鐜般€戯細鎴愬憳鍙橀噺

        銆愮澶村強鎸囧悜銆戯細甯︾┖蹇冭彵褰㈢殑瀹炲績綰匡紝鑿卞艦鎸囧悜鏁翠綋

UML綾誨浘鍑犵鍏崇郴鐨勬€葷粨 

        5. 緇勫悎(Composition)

        銆愮粍鍚堝叧緋匯€戯細鏄暣浣撲笌閮ㄥ垎鐨勫叧緋伙紝浣嗛儴鍒嗕笉鑳界寮€鏁翠綋鑰屽崟鐙瓨鍦ㄣ€傚鍏徃鍜岄儴闂ㄦ槸鏁翠綋鍜岄儴鍒嗙殑鍏崇郴錛屾病鏈夊叕鍙稿氨涓嶅瓨鍦ㄩ儴闂ㄣ€?/p>

       緇勫悎鍏崇郴鏄叧鑱斿叧緋葷殑涓€縐嶏紝鏄瘮鑱氬悎鍏崇郴榪樿寮虹殑鍏崇郴錛屽畠瑕佹眰鏅€氱殑鑱氬悎鍏崇郴涓唬琛ㄦ暣浣撶殑瀵硅薄璐熻矗浠h〃閮ㄥ垎鐨勫璞$殑鐢熷懡鍛ㄦ湡銆?/p>

銆愪唬鐮佷綋鐜般€戯細鎴愬憳鍙橀噺

銆愮澶村強鎸囧悜銆戯細甯﹀疄蹇冭彵褰㈢殑瀹炵嚎錛岃彵褰㈡寚鍚戞暣浣?/p>

UML綾誨浘鍑犵鍏崇郴鐨勬€葷粨

        6. 渚濊禆(Dependency)

        銆愪緷璧栧叧緋匯€戯細鏄竴縐嶄嬌鐢ㄧ殑鍏崇郴錛屽嵆涓€涓被鐨勫疄鐜伴渶瑕佸彟涓€涓被鐨勫崗鍔╋紝鎵€浠ヨ灝介噺涓嶄嬌鐢ㄥ弻鍚戠殑浜掔浉渚濊禆.

        銆愪唬鐮佽〃鐜般€戯細灞€閮ㄥ彉閲忋€佹柟娉曠殑鍙傛暟鎴栬€呭闈欐€佹柟娉曠殑璋冪敤

        銆愮澶村強鎸囧悜銆戯細甯︾澶寸殑铏氱嚎錛屾寚鍚戣浣跨敤鑰?/p>

UML綾誨浘鍑犵鍏崇郴鐨勬€葷粨 

        鍚勭鍏崇郴鐨勫己寮遍『搴忥細

        娉涘寲 = 瀹炵幇 > 緇勫悎 > 鑱氬悎 > 鍏寵仈 > 渚濊禆 

        涓嬮潰榪欏紶UML鍥撅紝姣旇緝褰㈣薄鍦板睍紺轟簡鍚勭綾誨浘鍏崇郴錛?/p>

UML綾誨浘鍑犵鍏崇郴鐨勬€葷粨



wxb1988 2015-07-19 22:39 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 南陵县| 孝昌县| 馆陶县| 海丰县| 漳平市| 常州市| 石嘴山市| 阳新县| 交口县| 达州市| 喀喇| 娄烦县| 广平县| 樟树市| 安丘市| 石城县| 垣曲县| 阿荣旗| 黄冈市| 嘉荫县| 涡阳县| 高阳县| 淳化县| 宣化县| 三原县| 凭祥市| 伊金霍洛旗| 隆化县| 孝感市| 调兵山市| 同心县| 建德市| 横山县| 西乌珠穆沁旗| 武胜县| 普定县| 麻城市| 广东省| 贞丰县| 黑水县| 大关县|