锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
鎰熻阿K_Eckel frwei@whu.edu.cn
鎰熻阿鐖變漢
鎰熻阿瀹朵漢
杞澆璇鋒敞鏄庢潵婧?br>
甯屾湜鑳藉拰鍏勫紵浠氦嫻?nbsp; jetty jetty2k_kyj@163.com
**************************************************************
鏋舵瀯璁捐錛岀洰鍓嶇悊瑙f潵鐪嬶紝灝辨槸瀵規蹇電殑 鍒嗙駭錛屽垎紱?緇勫悎錛岄氫俊
鍒嗙駭錛?nbsp;姣斿 緇ф壙錛屾瘮濡?澶фā鍧椾笅鐨勫皬妯″潡
鍒嗙錛?nbsp;姣斿 瀵硅薄鍒嗙被錛岀粍浠跺垎綾?br> 緇勫悎錛?nbsp;姣斿 綾誨璞$殑緇勫悎
閫氫俊錛?nbsp;姣斿 閫氳繃鎺ュ彛錛岄氳繃綾籛inMsg
1. 鍒涘緩鍨嬫ā寮?br>
1.1 Factory Method(宸ュ巶鏂規硶)[涓鑸璞″垱寤篯
1. 鐢ㄧ被C1鑷韓鐗硅壊鏋勯犲嚱鏁板皝瑁呭璞$殑鍒涘緩
鍒涘緩鐨勮皟鐢ㄥ湪鎶借薄宸ュ巶綾葷殑瀛愮被鐨勮櫄鍑芥暟F1涓?br> 鍒涘緩鍚庯紝鍙坊鍔犲垵濮嬪寲浠g爜浜嶧1涓紝F1榪斿洖C1瀵硅薄鎸囬拡
C1瀵硅薄鎸囬拡鍙?宸ュ巶鏋愭瀯鏃惰嚜鍔╗瀹夊叏] 鎴?涓嶇敤鏃舵墜鍔╗鏁堢巼] 閲婃斁
2. 鎵╁睍(妯℃澘綾繪硶)
灝嗘娊璞″伐鍘傜被鐨勫瓙綾誨仛鎴愭ā鏉跨被
浼犲叆Cn浣滀負鍙傛暟錛屽氨瀹炵幇浜嗙紪璇戞椂綾誨彉鍖栨敮鎸?br> 3. 鎵╁睍(閰嶇疆鏂囦歡娉?
鍙鍔燢ey,ClassName瀵瑰簲鐨刋ml閰嶇疆鏂囦歡
鍐嶇敱 m##n 瀹?灝咰lassName杞垚瀵瑰簲鐨勬爣璇嗙鏉ヨ皟鐢?br> 榪欐牱錛屽厛灝嗗彲鑳界敤鍒扮殑Class閮藉畾涔夊ソ錛岃皟鐢ㄦ祦紼嬪啓濂?br> 鏇存敼Xml閰嶇疆鏂囦歡錛屽氨瀹炵幇浜嗚繍琛屾椂綾誨彉鍖栨敮鎸?br>
1.2 Abstract Factory(鎶借薄鍘傚伐)[鐩稿叧鑱旂殑涓緇勫璞″垱寤篯
1. 鍦‵actory Method(宸ュ巶鏂規硶)鐨勫熀紜涓?br> 鍦ㄦ娊璞″伐鍘傜被涓負姣忎竴緇勫叿鏈夌浉鍚屽垱寤鴻繃紼嬬殑瀵硅薄
寤虹珛涓涓櫄鍑芥暟錛屽叾浠栫被鍚孎actory Method(宸ュ巶鏂規硶)
2. 濡傛灉铏氬嚱鏁頒笉澶氾紝灝卞彧鐢ㄤ竴涓娊璞″伐鍘傜殑瀛愮被錛?br> 鐢ㄥ嚱鏁板悕瀛楀垝鍒嗕駭鍝佺嚎(鐢烽瀷綰?濂抽瀷綰?
3. 濡傛灉铏氬嚱鏁拌緝澶氾紝鍙敤澶氫釜鎶借薄宸ュ巶鐨勫瓙綾伙紝
鐢ㄧ被鍚?椋熷搧鍘?闉嬪巶)鍒掑垎浜у搧綰匡紝
鐩稿叧鑱旂殑瀵硅薄鐨勫垱寤哄氨鍦ㄤ竴璧蜂簡
1.3 Singleton(鍗曚歡)[淇濊瘉浠呮湁涓涓疄渚媇
1. 縐佹湁鍖?綾繪瀯閫犲嚱鏁?br> 鍙兘閫氳繃闈欐佹垚鍛樺嚱鏁癐nstance鏉ョ敓鎴愯繖涓敮涓瀵硅薄
鐢ㄩ潤鎬佺鏈夋垚鍛樺彉閲忎繚瀛樿繖涓敮涓瀹炰緥瀵硅薄鐨勬寚閽?br> 鐢ㄩ潤鎬佸叕鏈夊嚱鏁癎etInstance榪斿洖榪欎釜鎸囬拡
娉ㄦ剰鍦ㄧ被鏋愭瀯鏃訛紝SafeDel榪欎釜鎸囬拡
2. 涓婇潰鐨勫叿浣撳伐鍘傜被錛屽氨搴旇鏄竴涓猄ingleton瀵硅薄
1.4 Builder(鐢熸垚鍣?[鐩稿悓鏋勯犵畻娉曞緱鍒頒笉鍚岀殑澶嶆潅瀵硅薄](STL)
1. 鍒嗙 鏋勯犵畻娉?紼沖畾) 涓?鏋勯犲弬鏁?涓嶇ǔ瀹?
2. 闇瑕?綆楁硶鍑芥暟闃熷垪 榪唬鍣?瀹瑰櫒
3. 渚嬪 STL涓殑綆楁硶 nth_element
1.5 Prototype(鍘熷瀷)[鑷垜澶嶅埗]
1. 浠g爜
Prototype* ConcretePrototype::Clone() const
{
return new ConcretePrototype(*this); //鎷瘋礉鏋勯犲嚱鏁?br> 锝?br> 2. 娉ㄦ剰 綾繪垚鍛樹負 鎸囬拡鎴栧鏉傚璞?鏃訛紝鎷瘋礉鏋勯犲嚱鏁?鐨?娣卞眰鎷瘋礉
2. 緇撴瀯鍨嬫ā寮?br>
2.1 Bridge(妗ユ帴)[鍒嗙鎺ュ彛涓庡疄鐜癩
1. 鎺ュ彛綾籄 涓?瀹炵幇綾籅 鐨勭埗綾?br> 2. A綾諱腑鏈夌被B瀵硅薄鐨勬寚閽堬紝鍙敤鍑芥暟璧嬪?br> 3. 浠庤屼嬌綾籄鐨勬帴鍙e姛鑳藉畬鏁村寲錛屼笖瀹炵幇鐙珛