锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲AV无码一区二三区,亚洲国产一区在线,亚洲尹人香蕉网在线视颅http://m.tkk7.com/pdw2009/category/12603.htmlJ2EE鐩稿叧搴旂敤鎶鏈棩蹇?/description>zh-cnTue, 25 Sep 2007 20:52:46 GMTTue, 25 Sep 2007 20:52:46 GMT60璁捐妯″紡涔嬭涓?/title><link>http://m.tkk7.com/pdw2009/archive/2007/09/24/147927.html</link><dc:creator>鏈夌尗鐩鎬即鐨勬棩瀛?/dc:creator><author>鏈夌尗鐩鎬即鐨勬棩瀛?/author><pubDate>Mon, 24 Sep 2007 15:36:00 GMT</pubDate><guid>http://m.tkk7.com/pdw2009/archive/2007/09/24/147927.html</guid><wfw:comment>http://m.tkk7.com/pdw2009/comments/147927.html</wfw:comment><comments>http://m.tkk7.com/pdw2009/archive/2007/09/24/147927.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/pdw2009/comments/commentRss/147927.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/pdw2009/services/trackbacks/147927.html</trackback:ping><description><![CDATA[綾繪槸娌℃湁琛屼負鐨勶紝鍙湁瀵硅薄鎵嶅彲鑳芥湁琛屼負錛屼絾瀵硅薄鐨勮涓鴻偗瀹氭槸鐢辯被鏉ュ畾涔夌殑銆?br /> 浠婂ぉ璁茶10涓涓鴻璁℃ā寮忥紝璁頒笅瀹冧滑鐨勬濇兂錛?br /> 1銆?span lang="EN-US">Template<o:p></o:p></span>錛堟ā鐗堬級<br />       瀹氫箟涓涓搷浣滀腑綆楁硶鐨勯鏋?灝嗕竴浜涙楠ょ殑鎵ц寤惰繜鍒板叾瀛愮被涓?<o:p></o:p> 濡係truts涓殑execute()鏂規硶錛岄氫織鐨勮娉曟槸鍦ㄧ埗綾葷殑鏂規硶涓紝璋冪敤鎿嶈薄鐨勬柟娉曘傝屾搷璞$殑鏂規硶鏄敱瀹炵幇綾繪潵瀹炵幇銆?br /> <br /> 2銆?span lang="EN-US">Memento</span>錛堝蹇樺綍妯″紡錛?br />       澶囧繕褰曟ā褰曞疄闄呬笂鏄璞″唴閮ㄧ姸鎬佺殑鎷瘋礉錛岃繍琛屽埌鏌愪釜鏃跺欏彲浠ユ仮澶嶅畠鍘熸湁鐨勭姸鎬侊紝鍦ㄥ疄闄呭紑鍙戜腑鎴戜滑緇忓父浼氱敤鍒拌妯″紡錛屼絾鍐欐硶鍙兘涓嶄竴鏍楓?br /> 3銆?span lang="EN-US"><span lang="EN-US">Observer<o:p></o:p></span>錛堜復鍚ā寮忥級<br />      鍒漢璇存槸瑙傚療鑰咃紝鎴戝枩嬈㈣榪欐槸鐩戝惉妯″紡錛屽氨鏄緗竴涓璞$殑鐩戝惉瀵硅薄錛屽綋琚洃鍚璞$殑鐘舵佹敼鍙樻椂瑙﹀彂涓涓簨浠訛紝JDK宸茬粡鎻愪緵瀹炵幇浜嗐傞渶瑕佺敤鍒版椂GOOGLE涓鏍峰氨OK銆?br /> 4銆?span lang="EN-US">Chain of Responsibility</span>錛堣亴璐i摼錛?br />     灝辨槸涓涓璞″綋浣滀竴涓弬鏁頒紶閫掔粰涓嶅悓鐨勫榪涜鑱岃矗澶勭悊銆?br /> 5銆?span lang="EN-US">Command<o:p></o:p></span>錛堝懡浠ゆā寮忥級<br />     灝辯湅鍏蜂綋灝佽浜嗭紝瀹為檯寮鍙戜腑鐢ㄤ竴寰椾篃鎸哄銆?br /> 6銆?span lang="EN-US">State<o:p></o:p></span>錛堢姸鎬佹ā寮忥級<br />     <br /> 7銆?span lang="EN-US">Strategy(絳栫暐)<o:p></o:p></span><br />     鏄綆楁硶鐨勪竴縐嶅皝瑁?br /> 8銆?span lang="EN-US">Mediator(涓粙鑰?<o:p></o:p></span><br />    鍚勪釜瀵硅薄涔嬮棿鐨勪氦浜掓搷浣滈潪甯稿;姣忎釜瀵硅薄鐨勮涓烘搷浣滈兘渚濊禆褰兼瀵規柟,淇敼涓涓璞$殑琛屼負,鍚屾椂浼氭秹鍙婂埌淇敼寰堝鍏朵粬瀵硅薄鐨勮涓?濡傛灉浣跨敤Mediator妯″紡,鍙互浣垮悇涓璞¢棿鐨勮﹀悎鏉炬暎,鍙渶鍏沖績鍜?Mediator鐨勫叧緋?浣垮瀵瑰鐨勫叧緋誨彉鎴愪簡涓瀵瑰鐨勫叧緋?鍙互闄嶄綆緋葷粺鐨勫鏉傛?鎻愰珮鍙慨鏀規墿灞曟?<o:p></o:p> <p>9銆?span lang="EN-US">Interpreter(瑙i噴鍣?<o:p></o:p></span><br /> 10銆?strong><span lang="EN-US">Visitor錛堝弬瑙傝呮ā寮忥級<br /> 灝辨槸閬嶅巻綾婚泦涓殑瀵硅薄鍚?/span></strong></p> <br /> </span> <img src ="http://m.tkk7.com/pdw2009/aggbug/147927.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/pdw2009/" target="_blank">鏈夌尗鐩鎬即鐨勬棩瀛?/a> 2007-09-24 23:36 <a href="http://m.tkk7.com/pdw2009/archive/2007/09/24/147927.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>璁捐妯″紡涔嬬粨鏋?/title><link>http://m.tkk7.com/pdw2009/archive/2007/09/22/147410.html</link><dc:creator>鏈夌尗鐩鎬即鐨勬棩瀛?/dc:creator><author>鏈夌尗鐩鎬即鐨勬棩瀛?/author><pubDate>Sat, 22 Sep 2007 06:58:00 GMT</pubDate><guid>http://m.tkk7.com/pdw2009/archive/2007/09/22/147410.html</guid><wfw:comment>http://m.tkk7.com/pdw2009/comments/147410.html</wfw:comment><comments>http://m.tkk7.com/pdw2009/archive/2007/09/22/147410.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/pdw2009/comments/commentRss/147410.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/pdw2009/services/trackbacks/147410.html</trackback:ping><description><![CDATA[緇撴瀯妯″紡鏈?涓皬妯″紡錛屼笅闈㈠垎鍒涓涓嬪畠浠殑鎬濇兂錛?br /> 1銆侀棬闈㈡ā寮?<span lang="EN-US">Facade</span>)涔熺О澶栬妯″紡<br />       涓哄瓙緋葷粺鎻愪緵緇熶竴鐨勬帴鍙o紝榪欎釜鎺ュ彛灝卞彨闂ㄥ湪浜嗭紝瀹㈡埛鍙渶涓庨棬闈㈡潵鐨勪氦閬擄紝鍐呴儴璋冪敤閭d釜鍔熻兘妯″潡瀵瑰鎴風被鏉ヨ鏄殣钘忕殑銆傜幇瀹炵敓媧諱腑鍘誨尰闄㈢湅鐥呮崱鑽殑渚嬪瓙鏄竴鏍風殑銆?br /> 2銆佷唬鐞嗘ā寮?<span lang="EN-US">Proxy</span>)<br />      鏈変袱縐嶆柟寮忎竴縐嶆槸闈欐佷唬鐞嗭紝鍙︿竴縐嶆槸鍔ㄦ佷唬鐞嗐備唬鐞嗘ā寮忓氨鏄負鍏跺畠瀵硅薄鎻愪緵浠g悊浠ユ帶鍒跺榪欎釜瀵硅薄鐨勮闂?br /> 3銆侀傞厤鍣ㄦā寮忥紙<span lang="EN-US">Adapter錛?br />      灝嗕袱涓笉鍏煎鐨勭被綰犲悎鍦ㄤ竴璧蜂嬌鐢?浣跨敤榪欎釜妯″紡鏃訛紝鏈濂戒互闈㈠悜鎺ュ彛鐨勬柟寮忓疄涓錛岃屼笉鐢ㄧ戶鎵褲傝繖鏄竴涓瘮杈冨ソ鐞嗚В鐨勬ā鍧楋紝涓嶉渶瑕佺湅渚嬬▼灝卞簲璇ヨ兘鍥炲繂璧峰畠鐨勭粨鏋勩?br /> 4銆佺粍鍚堟ā寮忥紙<span lang="EN-US">Composite</span>錛?br />      灝嗗璞′互鏍戠殑褰㈠紡緇勫悎璧鋒潵錛屼互杈炬垚鏁翠綋涓庨儴浠界殑緇撴瀯銆傚茍鍦ㄧ被涓彁渚涙坊鍔狅紝鍒犻櫎錛岄亶鍘嗚繖涓変釜鏂規硶銆傞氬父浠ユ搷璞$被涓虹埗綾繪潵瀹炵幇銆?br /> 5銆佹補婕嗗伐妯″紡錛?span lang="EN-US">Decorator錛?br /> 璇寸櫧浜嗗氨鏄粰涓涓被鍐嶆坊鍔犱簺鍔熻兘錛岄氬父鍙互鍦ㄨ璁′腑鍙互浣跨敤緇ф壙錛屽啀瀹炵幇涓帴鍙c傝妯″紡鍙互閬垮厤榪欐牱鍋氾紝瀹炰竴鏂規硶鏄湪瀹炵幇鎺ュ彛鐨勭被鏂規硶涓紝娣諱腑涓浜涢澶栧姛鑳藉嚱鏁般?br /> 6銆佹ˉ鎺ユā寮忥紙<span lang="EN-US">Bridge錛?o:p></o:p></span><br />     灝嗘搷璞′笌琛屼負鍒嗙銆?br /> 7銆佷韓鍏冩ā寮?<span lang="EN-US">Flyweight)<br />     璇寸櫧浜嗗氨鏄竴涓狹ap 鐢ㄦ潵瀛樺偍瀵硅薄鏃訛紝鍏堝垽鏂璏ap涓槸鍚︽湁璇ュ璞★紝濡傛灉鏈夊氨涓嶉渶鍐嶅瓨榪涖傛垨鑰呰浠庡埆鐨勫湴鏂硅仈涓涓璞℃椂錛屽厛鍦∕ap閲屾壘錛屽鏋滄壘鍒板氨涓嶇敤鍘誨埆鐨勫湴鏂逛簡銆傛湁鐐圭被浼間簬涓涓睜銆傚叿浣撳疄鐜板氨涓嶈浜?br /> <br /> </span></span></span> <img src ="http://m.tkk7.com/pdw2009/aggbug/147410.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/pdw2009/" target="_blank">鏈夌尗鐩鎬即鐨勬棩瀛?/a> 2007-09-22 14:58 <a href="http://m.tkk7.com/pdw2009/archive/2007/09/22/147410.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>璁捐妯″紡涔嬪垱寤烘ā寮?/title><link>http://m.tkk7.com/pdw2009/archive/2007/09/19/146633.html</link><dc:creator>鏈夌尗鐩鎬即鐨勬棩瀛?/dc:creator><author>鏈夌尗鐩鎬即鐨勬棩瀛?/author><pubDate>Wed, 19 Sep 2007 15:26:00 GMT</pubDate><guid>http://m.tkk7.com/pdw2009/archive/2007/09/19/146633.html</guid><wfw:comment>http://m.tkk7.com/pdw2009/comments/146633.html</wfw:comment><comments>http://m.tkk7.com/pdw2009/archive/2007/09/19/146633.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/pdw2009/comments/commentRss/146633.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/pdw2009/services/trackbacks/146633.html</trackback:ping><description><![CDATA[璁捐妯″紡鍒嗕笁澶х被錛氬垱寤恒佺粨鏋勩佽涓?<br /> 璁捐妯″紡鏄杞歡寤虹珛鐨勪竴涓柟娉曪紝涔熷彲浠ヨ鏄竴縐嶈涓鴻鑼冿紒鍦ㄩ潰鍚戝璞$殑杞歡寮鍙戞濇兂閲岋紝鏈涓哄叧閿殑鎴戞兂鏄疧OA/OOD錛岃繖鏄潰鍚戝璞$▼搴忚璁$殑鍩虹錛岃岃璁℃ā寮忓垎鐨勮繖涓夊ぇ綾伙紝鏄疧OD涓墍蹇呴』鐨勫厓绱犮傝璁℃ā寮忓垎綾諱笌瀵硅薄涓夊ぇ鐗瑰緛鍚誨悎銆?br /> 1銆佸璞″垱寤猴細浠諱綍涓涓璞¢兘鏈変竴涓緩绔嬭繃紼嬶紝灝辨槸浠庣被鐢熸垚瀵硅薄銆?br /> 2銆佸璞$粨鏋勶細鏇村噯紜潵璁叉槸綾葷殑緇撴瀯錛屾垜浠鍒涘緩涓涓被錛堝璞★級灝卞繀欏誨厛紜畾瀹冪殑緇撴瀯銆?br /> 3銆佸璞¤涓猴細瀵硅薄錛堢被錛夌敱鏋勯犲嚱鏁般佸睘鎬с佹柟娉曟瀯鎴愶紝鑰屾柟娉曢氬父灝辨槸鎸囧璞$殑琛屼負銆?br /> <br /> 璁捐妯″紡鍒嗙被鍙互璇存槸浠ョ被鍒板璞″垱寤鴻繃紼嬫潵鍒掑垎鐨勩?br /> <br /> 璁捐妯″紡鏈変簺涔︽槸闀跨瘒澶ц錛岃鎴戜笉鐭ユ墍鎺紝淇烘枃鍖栨按騫充綆鍙兘浠庝釜浜虹殑瑙佽В涓婂仛綆鍗曠殑鍒嗘瀽錛屽茍鍙嶇畝鍗曠殑鎬濇兂鐢ㄥ埌瀹為檯寮鍙戜腑銆?br /> 鍒涘緩妯″紡鏈?涓瓙妯″紡錛?br /> 榪?涓ā寮忛兘鏄垱寤哄璞$殑錛屽彧涓嶆槸鍒涘緩鐨勬柟寮忎笉涓鏍鳳紝鏈夌殑瀵硅薄鍙兘鍒涘緩涓涓紱鏈夌殑瀵硅薄鏄氳繃宸ュ巶鏉ョ敓浜э紱鏈夌殑瀵硅薄鐢卞緢澶氬皬瀵硅薄緇勬垚錛堟湁鏁翠綋涓庨儴浠藉叧緋伙級灝遍氳繃Builder(鏋勯?,涓嬮潰鍋氫粙緇?br /> <br /> 1銆?span lang="EN-US">Factory<o:p></o:p></span> 錛堝伐鍘傛ā寮忥級:鍒嗕負宸ュ巶鏂規硶錛屾搷璞″伐鍘?銆傚崟涓涓帴鍙f湁澶氫釜瀹炵幇鏃墮氬父鍙互鐢ㄥ伐鍘傛柟娉曟潵瀹炵幇錛屽鏋滆鍒涘緩澶氫釜鎺ュ彛鐨勫疄鐜扮被錛屽茍鐜板鏋勫緩姣旇緝澶嶆潅鏃舵垜浠氨鐢ㄦ搷璞″伐鍘傘?br /> 2銆?span lang="EN-US">Prototype錛堝師鍨嬫ā寮忥級</span>錛氬熀鏈笉鐢紝瀹為檯涓婃槸鐖剁被瀹炵幇浜嗕竴涓狢loneable鎺ュ彛銆傛垜涓嶅枩嬈㈢敤榪欑鏂瑰紡錛屼篃鎵懼埌鏇村ソ鐨勬柟娉曟潵瀹炵幇Cloneable銆?br /> 3銆?span lang="EN-US">Builder錛堟瀯閫犳ā寮忥級錛氭槸涓轟簡灝嗘瀯寤哄鏉傚璞$殑<strong><em>榪囩▼</em></strong>鍜屽畠鐨?strong><em>閮ㄤ歡</em></strong>瑙h?娉ㄦ剰: 鏄В鑰?strong><em>榪囩▼</em></strong>鍜?strong><em>閮ㄤ歡</em></strong></span> ,閫氬父鍏堝畾涔夋瀯閫犵被鐨勬帴鍙o紝瀹炵幇涓嶅悓鐨勯儴浠舵瀯閫狅紝鐒跺悗鏈変竴涓閰嶇殑榪囩▼銆?br /> <span lang="EN-US">4銆丼ingleton錛堝崟鎬佹ā寮忥級錛氬お甯哥敤錛屼笉鐢ㄤ粙緇嶏紝閫氬父鏈変笁縐嶅垱寤哄崟鎬佺被鐨勬柟娉曘?br /> </span><br /> 瀛︿範璁捐妯″紡涓嶆槸瑕佺墷璁板畠鏄庝箞瀹炵幇鐨勶紝涓嶈璁頒綇鍒楀瓙錛屽彧瑕佽浣忔濇兂灝卞彲浠ヤ簡錛屽綋浣犲湪鐜板疄涓仛璁捐鐨勬椂鍊欙紝璁╄繖浜涙濇兂嫻幇鍦ㄤ綘鑴戞搗閲岋紝閫夋嫨鏈閫傜敤浣犵殑瀹炵幇鏂規硶銆?br /> <img src ="http://m.tkk7.com/pdw2009/aggbug/146633.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/pdw2009/" target="_blank">鏈夌尗鐩鎬即鐨勬棩瀛?/a> 2007-09-19 23:26 <a href="http://m.tkk7.com/pdw2009/archive/2007/09/19/146633.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>璁捐妯″紡--command(鍛戒護妯″紡)http://m.tkk7.com/pdw2009/archive/2006/07/13/58070.html鏈夌尗鐩鎬即鐨勬棩瀛?/dc:creator>鏈夌尗鐩鎬即鐨勬棩瀛?/author>Thu, 13 Jul 2006 15:00:00 GMThttp://m.tkk7.com/pdw2009/archive/2006/07/13/58070.htmlhttp://m.tkk7.com/pdw2009/comments/58070.htmlhttp://m.tkk7.com/pdw2009/archive/2006/07/13/58070.html#Feedback0http://m.tkk7.com/pdw2009/comments/commentRss/58070.htmlhttp://m.tkk7.com/pdw2009/services/trackbacks/58070.htmlCommand鏈夊緢澶氱瀹炵幇鏂瑰紡錛屽彲浠ラ殢渚跨殑鎸変究榪欎釜瑙勫緥鏉ヨ嚜鐢卞彂鎸ャ?br />package com.pdw.pattern;

import java.util.*;
import org.apache.commons.lang.StringUtils;

interface Command{
聽public void execute();
}
interface Parameter{
聽public聽 String getCommandType();
}
class Engineer implements Command{

聽public void execute() {
聽聽// TODO Auto-generated method stub
聽聽System.out.println("Enginer....");
聽}

}


class Programer implements Command{

聽public void execute() {
聽聽// TODO Auto-generated method stub
聽聽System.out.println("Programer....");
聽}

}
class Doctor implements Command{

聽public void execute() {
聽聽// TODO Auto-generated method stub
聽聽System.out.println("Doctor.............");
聽}

}
class EngineerParameter implements Parameter{

聽public String getCommandType() {
聽聽// TODO Auto-generated method stub
聽聽return "Engineer";
聽}

}
class CommandProduce{
聽public static List commandList=new ArrayList();
聽public CommandProduce(){
聽聽commandList.add(new Engineer());
聽聽commandList.add(new Programer());
聽聽commandList.add(new Doctor());
聽}
聽public static Command getCommand(Parameter p){
聽聽Iterator it=commandList.iterator();
聽聽while(it.hasNext()){
聽聽聽Object c=(Object)it.next();
聽聽聽System.out.println(c.getClass().getName());
聽聽聽if(StringUtils.indexOf(c.getClass().getName(),p.getCommandType())>0){
聽聽聽聽return (Command)c;
聽聽聽}
聽聽}
聽聽return null;
聽}
}
public class CommandImpl {

聽public static void main(String[] args) {
聽聽// TODO Auto-generated method stub

聽聽EngineerParameter ep=new EngineerParameter();
聽聽CommandProduce cp=new CommandProduce();
聽聽(CommandProduce.getCommand(ep)).execute();
聽}

}



]]>
璁捐妯″紡---Observer(瑙傚療)http://m.tkk7.com/pdw2009/archive/2006/07/10/57573.html鏈夌尗鐩鎬即鐨勬棩瀛?/dc:creator>鏈夌尗鐩鎬即鐨勬棩瀛?/author>Mon, 10 Jul 2006 15:05:00 GMThttp://m.tkk7.com/pdw2009/archive/2006/07/10/57573.htmlhttp://m.tkk7.com/pdw2009/comments/57573.htmlhttp://m.tkk7.com/pdw2009/archive/2006/07/10/57573.html#Feedback0http://m.tkk7.com/pdw2009/comments/commentRss/57573.htmlhttp://m.tkk7.com/pdw2009/services/trackbacks/57573.htmlObserver 鐨勫畾涔夛細
聽聽聽聽 褰撹瑙傚療鐨勫璞$壒瀹氬睘鎬ф敼鍙樻椂錛屽氨閫氱煡琚畠鐨勮瀵熷璞°?br />鍦ㄨ繖涓ā寮忎腑灝變袱涓鑹蹭竴涓槸琚瀵熻咃紝涓涓槸瑙傚療鑰呫傚綋琚瀵熻呭仛浜嗘煇浜涙敼鍙樻椂灝遍氱煡瀹冪殑瑙傚療鑰呫備竴涓瑙傚療瀵硅薄鍙互鏈塏涓瀵熻呫俲ava.util.*鍖呬腑宸茬粡瀹炵幇浜嗚繖縐嶆ā寮忋傝鍙傝冨涓嬩緥瀛愶細
package com.pdw.pattern;

import java.util.*;

class Product extends Observable{//琚瀵熻呭繀緇ф壙浜嶰bservable

聽private String pname;
聽private float price;

聽public String getPname() {
聽聽return pname;
聽}
聽public void setPname(String pname) {
聽聽this.pname = pname;
聽聽setChanged();
聽聽notifyObservers(pname);
聽}
聽public float getPrice() {
聽聽return price;
聽}
聽public void setPrice(float price) {
聽聽this.price = price;
聽聽setChanged();
聽聽notifyObservers(new Float(price));
聽}
}
class NameObserver implements Observer{ //瑙傚療鑰呭繀欏誨疄鐜癘bserver鎺ュ彛

聽public void update(Observable arg0, Object arg1) {
聽聽if(arg1 instanceof String){
聽聽聽System.out.println("浜у搧鍚?-->"+arg1);
聽聽}
聽}

}
class PriceObserver implements Observer{

聽public void update(Observable arg0, Object arg1) {
聽聽if(arg1 instanceof Float){
聽聽聽System.out.println("浜у搧浠鋒牸鏄?>"+arg1);
聽聽}
聽}

}
public class ObserverImpl {

聽/**
聽 * @param args
聽 */
聽public static void main(String[] args) {
聽聽// TODO Auto-generated method stub
聽聽Product p=new Product();
聽聽p.setPname("鐢佃剳");
聽聽p.setPrice(Float.valueOf("5632.6"));
聽聽NameObserver no=new NameObserver();
聽聽PriceObserver po=new PriceObserver();
聽聽p.addObserver(no);
聽聽p.addObserver(po);
聽聽p.setPname("絎旇鏈數鑴?);
聽聽p.setPrice(Float.valueOf("9635.5"));
聽}

}



]]>
璁捐妯″紡---Memento(澶囧繕褰?http://m.tkk7.com/pdw2009/archive/2006/07/10/57572.html鏈夌尗鐩鎬即鐨勬棩瀛?/dc:creator>鏈夌尗鐩鎬即鐨勬棩瀛?/author>Mon, 10 Jul 2006 14:58:00 GMThttp://m.tkk7.com/pdw2009/archive/2006/07/10/57572.htmlMemento鐨勫畾涔夛細
聽聽聽聽聽聽 Memento鏄竴涓繚瀛樺彟澶栦竴涓璞$殑鍐呴儴鐘舵佹嫹璐濈殑瀵硅薄錛岃繖鏍峰氨鍙互鎶婂璞℃仮澶嶅埌鍘熷厛鐘舵併?br />
紜殑娌″繀瑕佺敤榪欎釜涓滆タ錛岃楀唴瀛橈紝楹葷儲銆傛垜鎯沖浠藉璞′負浠涔堜笉鐢ㄥ璞$殑娣卞害鎷瘋礉鍛€傝繖鏍蜂笉鏄緢鐪佷簨鍚楋紵璋佽兘鍛婅瘔鎴戜竴涓悊鐢卞憿錛?br />
涓嬮潰鏄竴涓狹emento妯″紡渚嬪瓙錛屽緢綆鍗曪細
package com.pdw.pattern;

import java.io.*;
import java.util.*;

class Originator{
聽private int number;
聽private File file;




聽public File getFile() {
聽聽return file;
聽}

聽public void setFile(File file) {
聽聽this.file = file;
聽}

聽public int getNumber() {
聽聽return number;
聽}

聽public void setNumber(int number) {
聽聽this.number = number;
聽}

聽public Originator(){}
聽//鍒涘緩澶囦喚
聽public Memento getMemento(){
聽聽return new Memento(this);
聽}
聽//鎭㈠鍒板師濮嬪?br />聽public void setMemento(Memento m){
聽聽this.file=m.getFile();
聽聽this.number=m.getNumber();
聽}
}
class Memento implements Serializable{
聽private聽 int number;
聽private聽 File file;

聽public File getFile() {
聽聽return file;
聽}

聽public void setFile(File file) {
聽聽this.file = file;
聽}

聽public int getNumber() {
聽聽return number;
聽}

聽public void setNumber(int number) {
聽聽this.number = number;
聽}

聽public Memento(Originator o){
聽聽this.number=o.getNumber();
聽聽this.file=o.getFile();
聽}

}
public class MemebtoImpl {

聽/**
聽 * @param args
聽 */
聽public static void main(String[] args) {
聽聽// TODO Auto-generated method stub
聽聽Originator o=new Originator();
聽聽o.setNumber(100);
聽聽Memento m=o.getMemento();//寤哄涓涓浠藉璞?br />聽聽o.setNumber(50); //鏀瑰彉瀵硅薄灞炴?br />聽聽o.setMemento(m); //榪樺師
聽聽System.out.println(o.getNumber());
聽}

}



]]>
璁捐妯″紡---Template(妯℃澘)http://m.tkk7.com/pdw2009/archive/2006/07/09/57385.html鏈夌尗鐩鎬即鐨勬棩瀛?/dc:creator>鏈夌尗鐩鎬即鐨勬棩瀛?/author>Sun, 09 Jul 2006 14:58:00 GMThttp://m.tkk7.com/pdw2009/archive/2006/07/09/57385.htmlhttp://m.tkk7.com/pdw2009/comments/57385.htmlhttp://m.tkk7.com/pdw2009/archive/2006/07/09/57385.html#Feedback0http://m.tkk7.com/pdw2009/comments/commentRss/57385.htmlhttp://m.tkk7.com/pdw2009/services/trackbacks/57385.html瀹氫箟錛?br />聽聽聽聽聽聽聽聽 瀹氫箟涓涓畻娉曚腑鐨勯鏋訛紝灝嗕竴浜涙楠ょ殑鎵ц寤舵湡鍒板瓙綾伙紝鍏跺疄JAVA涓殑鎿嶈薄綾誨氨鏄竴涓猅emplate妯″紡錛屽洜浜涗嬌鐢ㄥ緱寰堟櫘閬嶏紝寰堝鏄撶悊瑙c傚錛?br />package com.pdw.pattern;

abstract class Benchmark{
聽public abstract void benchmark();

聽/**
聽 * 閲嶅鎵ц鐨勬鏁?br />聽 * @param count
聽 * @return
聽 */
聽public final long repeat(int count){
聽聽long startTime;
聽聽if(count<0){
聽聽聽return 0;
聽聽}else{
聽聽聽startTime=System.currentTimeMillis();
聽聽聽for(int i=0;i<count;i++){
聽聽聽聽benchmark();
聽聽聽}
聽聽}
聽聽long stopTime=System.currentTimeMillis();
聽聽return stopTime-startTime;
聽聽
聽}
}
class MethodBenchmark extends Benchmark{

聽public void benchmark() {
聽聽for(int i=0;i<200000;i++){
聽聽聽System.out.println("i="+i);
聽聽}
聽}

}

public class TemplateImpl {
聽/**
聽 * @param args
聽 */
聽public static void main(String[] args) {
聽聽Benchmark operation=new MethodBenchmark();
聽聽long d=operation.repeat(1);
聽聽System.out.println("鎵ц涓嬈℃墍闇瑕佺敤鐨勬椂闂達細"+d);
聽}

}



]]>
璁捐妯″紡----Flyweight(浜厓)http://m.tkk7.com/pdw2009/archive/2006/07/09/57383.html鏈夌尗鐩鎬即鐨勬棩瀛?/dc:creator>鏈夌尗鐩鎬即鐨勬棩瀛?/author>Sun, 09 Jul 2006 14:50:00 GMThttp://m.tkk7.com/pdw2009/archive/2006/07/09/57383.htmlhttp://m.tkk7.com/pdw2009/comments/57383.htmlhttp://m.tkk7.com/pdw2009/archive/2006/07/09/57383.html#Feedback0http://m.tkk7.com/pdw2009/comments/commentRss/57383.htmlhttp://m.tkk7.com/pdw2009/services/trackbacks/57383.htmlFlyweight鐨勫畾涔夛細
聽聽 閬垮厤澶ч噺鎷ユ湁鐩稿悓鍐呭鐨勫皬綾誨紑閿錛堝娑堣楀唴瀛橈級錛屼嬌澶у鍏變韓涓涓被鍙厓綾匯?br />涓轟粈涔堜嬌鐢細
聽聽聽聽 闈㈠悜瀵硅鐨勫師鍒欐槸涓鍒囬兘鏄璞★紝浣嗗鏋滃璞℃暟闈炲父搴炲ぇ錛屽鏋滃瓧澶勭悊杞歡錛屽鏁版嵁琛ㄧ殑DAO鎿嶄綔銆傜瓑鑰楀唴瀛樼殑鎿嶄綔錛屾垜浠氨瑕佹眰鍚屽瓨寮傦紝鎵懼嚭鍏卞悓浣擄紝璁捐涓轟竴涓厓綾匯傚彟澶栦竴浜涚壒鎬у彇鍐充簬context鏄笉鍙叡浜殑銆?br />
浣跨敤渚嬪瓙濡傦細
package com.pdw.pattern;

import java.util.*;

class CD{
聽private String title;
聽private int year;
聽private Artist artist;


聽public Artist getArtist() {
聽聽return artist;
聽}
聽public void setArtist(Artist artist) {
聽聽this.artist = artist;
聽}
聽public String getTitle() {
聽聽return title;
聽}
聽public void setTitle(String title) {
聽聽this.title = title;
聽}
聽public int getYear() {
聽聽return year;
聽}
聽public void setYear(int year) {
聽聽this.year = year;
聽}


}
class Artist{
聽private String name;
聽public String getName(){
聽聽return this.name;
聽}
聽public Artist(String n){
聽聽this.name=n;
聽}

}
class ArtistFactory{

聽Hashtable flyweights=new Hashtable();
聽Artist getArtist(String key){
聽聽Artist result;
聽聽result=(Artist)flyweights.get(key);
聽聽if(result==null){
聽聽聽result=new Artist(key);
聽聽聽flyweights.put(key,result);
聽聽}
聽聽return result;
聽}

}

public class FlyweightImpl {

聽/**
聽 * @param args
聽 */
聽public static void main(String[] args) {
聽聽CD cd=new CD();
聽聽ArtistFactory af=new ArtistFactory();
聽聽cd.setArtist(new Artist("鏉?));
聽聽cd.setTitle("嫻嬭瘯");
聽聽cd.setYear(1998);
聽聽Artist va=af.getArtist("瑁?);
聽聽System.out.println(va.getName());
聽聽af.getArtist("鏉?);
聽聽
聽聽System.out.println(af.flyweights.size());
聽}

}



]]>
璁捐妯″紡---Adapter(閫傞厤鍣?http://m.tkk7.com/pdw2009/archive/2006/07/03/56428.html鏈夌尗鐩鎬即鐨勬棩瀛?/dc:creator>鏈夌尗鐩鎬即鐨勬棩瀛?/author>Mon, 03 Jul 2006 15:03:00 GMThttp://m.tkk7.com/pdw2009/archive/2006/07/03/56428.htmlhttp://m.tkk7.com/pdw2009/comments/56428.htmlhttp://m.tkk7.com/pdw2009/archive/2006/07/03/56428.html#Feedback0http://m.tkk7.com/pdw2009/comments/commentRss/56428.htmlhttp://m.tkk7.com/pdw2009/services/trackbacks/56428.html1 瀹氫箟錛?br />聽聽聽聽 灝嗕袱涓笉鍏煎鐨勭被綰犲悎鍦ㄤ竴璧蜂嬌鐢紝灞炰簬緇撴瀯鍨嬫ā寮忥紝闇瑕佹湁琚傞厤鑰咃紙Adaptee錛夊拰閫傞厤鍣?Adapor)涓や釜韜喚銆?br />2 涓轟綍浣跨敤錛?br />聽聽聽 鎴戜滑緇忓父闇瑕佸皢涓や笂娌℃湁鍏崇郴鐨勭被緇勫悎鍦ㄤ竴璧蜂嬌鐢紝絎竴瑙e喅鏂規鏄慨鏀瑰悇鑷被鐨勬帴鍙o紝渚垮娌℃湁婧愪唬鐮侊紝鎴栬呮垜浠笉鎰挎剰涓轟竴涓簲鐢ㄨ屼慨鏀規帴鍙f庝箞鍔烇紝灝辯敤Adapter鍒涘緩娣瘋鐨勭粍鍚堜綋銆?br />鑷充簬鎬庝箞鐢ㄥ彲浠ュ弬鑰兟犮妕hink in java銆嬬殑鈥滅被鍐嶇敓鈥濊繖涓鑺傛墍鎻愬埌鐨勪袱涓柟寮忥細緇勫悎(Composition)鍜岀戶鎵?inheritance)

鍙傝冧緥瀛愶細
package com.pdw.pattern;
/**
聽* 涓や釜涓嶅吋瀹圭殑綾葷籂鍚堝湪涓璧蜂嬌鐢紝灞炰簬緇撴瀯妯″瀷錛岄渶鏈夎閫傞厤鍣紙Adaptee)鍜岄傞厤鍣?Adaptor)涓や釜韜喚
聽*
聽* @author Administrator
聽*
聽*/

//鎵撴柟鍨?br />class SquarePeg{
聽public void insert(String str){
聽聽System.out.println("鎵撴柟鍨?->"+str);
聽}
}
//鎵撳渾鏌卞瀷
class RoundPeg{
聽public void insertIntohole(String msg){
聽聽System.out.println("鎵撳渾鏌卞瀷-->"+msg);
聽}
}

class PegAdapter extends SquarePeg{
聽private RoundPeg rp;
聽public PegAdapter(RoundPeg vrp){
聽聽this.rp=vrp;
聽}
聽public void insertRound(String str){
聽聽rp.insertIntohole(str);
聽}
聽public void insertSquare(String str){
聽聽super.insert(str);
聽}
}
public class AdapterImpl {



聽/**
聽 * @param args
聽 */
聽public static void main(String[] args) {
聽聽RoundPeg rp=new RoundPeg();
聽聽PegAdapter pg=new PegAdapter(rp);
聽聽pg.insertRound("鍦嗘煴鍨?);
聽聽pg.insertSquare("鏂瑰瀷");
聽}

}



]]>
璁捐妯″紡涔?---Facade(澶栬)http://m.tkk7.com/pdw2009/archive/2006/07/02/56214.html鏈夌尗鐩鎬即鐨勬棩瀛?/dc:creator>鏈夌尗鐩鎬即鐨勬棩瀛?/author>Sun, 02 Jul 2006 15:21:00 GMThttp://m.tkk7.com/pdw2009/archive/2006/07/02/56214.htmlhttp://m.tkk7.com/pdw2009/comments/56214.htmlhttp://m.tkk7.com/pdw2009/archive/2006/07/02/56214.html#Feedback0http://m.tkk7.com/pdw2009/comments/commentRss/56214.htmlhttp://m.tkk7.com/pdw2009/services/trackbacks/56214.html

]]>
璁捐妯″紡---Singletonhttp://m.tkk7.com/pdw2009/archive/2006/06/29/55830.html鏈夌尗鐩鎬即鐨勬棩瀛?/dc:creator>鏈夌尗鐩鎬即鐨勬棩瀛?/author>Thu, 29 Jun 2006 15:01:00 GMThttp://m.tkk7.com/pdw2009/archive/2006/06/29/55830.htmlhttp://m.tkk7.com/pdw2009/comments/55830.htmlhttp://m.tkk7.com/pdw2009/archive/2006/06/29/55830.html#Feedback0http://m.tkk7.com/pdw2009/comments/commentRss/55830.htmlhttp://m.tkk7.com/pdw2009/services/trackbacks/55830.html鍗曟佺殑浣滅敤灝變笉鐢ㄨ浜嗭紝緇忓父鐢ㄨ繃錛屽氨鏄竴涓被鍙駭鐢熶竴涓璞°?br />瀹冩湁涓や釜縐嶅疄鐜版柟娉曘傚疄鐜板湪澶у悓灝忓紓錛屽彲浠ユ牴鎹渶瑕佹敼榪涖?br />渚嬬▼濡備笅錛?br />package com.pdw.pattern;

class SingletonA{
聽private SingletonA(){
聽聽
聽}
聽private static SingletonA _instance=new SingletonA();
聽public static SingletonA getInstance(){
聽聽return _instance;
聽}
}
class SingletonB{
聽private static SingletonB _instance;
聽public static SingletonB getInstance(){
聽聽if(_instance==null){
聽聽聽return new SingletonB();
聽聽}else{
聽聽聽return _instance;
聽聽}
聽聽
聽}
}
public class SingletonImpl {

聽/**
聽 * @param args
聽 */
聽public static void main(String[] args) {
聽聽// TODO Auto-generated method stub

聽}

}



]]>
璁捐妯″紡----builderhttp://m.tkk7.com/pdw2009/archive/2006/06/29/55829.html鏈夌尗鐩鎬即鐨勬棩瀛?/dc:creator>鏈夌尗鐩鎬即鐨勬棩瀛?/author>Thu, 29 Jun 2006 14:52:00 GMThttp://m.tkk7.com/pdw2009/archive/2006/06/29/55829.htmlhttp://m.tkk7.com/pdw2009/comments/55829.htmlhttp://m.tkk7.com/pdw2009/archive/2006/06/29/55829.html#Feedback0http://m.tkk7.com/pdw2009/comments/commentRss/55829.htmlhttp://m.tkk7.com/pdw2009/services/trackbacks/55829.html鏋勫緩妯″紡鐨勫畾涔夛細
灝嗕竴涓鏉傜殑瀵硅薄鏋勫緩涓庡畠鐨勮〃紺哄垎紱誨紑鏉ワ紝浣跨敤鏍風殑鏋勫緩榪囩▼鍙互鍒涘緩涓嶅悓鐨勮〃紺恒?br />Builder 妯″紡鏄竴姝ヤ竴姝ュ垱寤轟竴涓鏉傜殑瀵硅薄錛屽畠鍏呰鐢ㄦ埛閫氳繃鎸囧畾澶嶆潅瀵硅薄綾誨瀷鍜屽唴瀹瑰氨鍙互鏋勫緩瀹冧滑銆傜敤鎴蜂笉闇鐭ラ亾鍏跺唴閮ㄧ粏鑺傘侭uilder闈炲父綾諱技鎿嶈薄宸ュ巶妯″紡錛屽彧鏈夊湪浣跨敤涓墠鑳藉尯鍒紑鏉ャ備竴涓嬌鐢ㄤ緥瀛愶細
package com.pdw.pattern;

/*
聽* 灝忓璞$殑鍒涘緩鎺ュ彛
聽*/
interface PartA{
聽public void builderA();
聽public void outPartAInfo();
}
interface PartB{
聽public void builderB();
}
/*
聽* 澶у璞″垱寤烘帴鍙?br />聽*/
interface Builder{
聽void buildPartA();
聽void buildPartB();
聽Produce getResult();
}

/*
聽* 浜у搧鎺ュ彛
聽*/
interface Produce{
聽public void OutProduceInfo();
}

/*
聽* 鏋勫緩閮ㄤ歡
聽*/
class Director{
聽private Builder builder;

聽public Director(Builder vbuilder){
聽聽this.builder=vbuilder;
聽}

聽public void construct(){
聽聽builder.buildPartA();
聽聽builder.buildPartB();
聽}

}
/*
聽* 閮ㄤ歡瀹炵幇綾?br />聽*/
class PartAImpl implements PartA{

聽public void builderA() {
聽聽// TODO Auto-generated method stub
聽聽System.out.print("PartA緇勮瀹屾垚...");
聽}

聽public void outPartAInfo() {
聽聽// TODO Auto-generated method stub
聽聽System.out.println("PartA 淇℃伅銆傘傘?");
聽}

}
class PartBImpl implements PartB{

聽public void builderB() {
聽聽// TODO Auto-generated method stub
聽聽System.out.println("鏋勯犻儴浠禕瀹屾垚....");
聽}

}
class ProduceImpl implements Produce{

聽private PartA pa;
聽private PartB pb;
聽private ProduceImpl(){}

聽public聽 ProduceImpl(PartA pa,PartB pb){
聽聽this.pa=pa;
聽聽this.pb=pb;
聽}
聽public void OutProduceInfo() {
聽聽// TODO Auto-generated method stub
聽聽pa.builderA();
聽聽pb.builderB();
聽聽pa.outPartAInfo();
聽聽System.out.println("榪欓噷杈撳叆浜嗕駭鍝佷俊鎭紝褰撶劧浜у搧榪樻湁寰堝鍔熻兘鏂規硶娌″啓鍛?);
聽}

}
class Cbuilder implements Builder{
聽PartA pa;
聽PartB pb;
聽public void buildPartA() {
聽聽pa=new PartAImpl(); //鍏蜂綋瀛愰儴浠跺疄鐜頒唬鐮?br />聽聽
聽}

聽public void buildPartB() {
聽聽
聽聽pb=new PartBImpl();
聽}

聽public Produce getResult() {
聽聽ProduceImpl pi=new ProduceImpl(pa,pb);
聽聽return pi;
聽}

}


public class BuilderImpl {



聽/**
聽 * @param args
聽 */
聽public static void main(String[] args) {
聽聽// TODO Auto-generated method stub
聽聽Cbuilder builder=new Cbuilder();
聽聽Director d=new Director(builder);
聽聽d.construct();
聽聽Produce p=builder.getResult();
聽聽p.OutProduceInfo();
聽}

}



]]>
璁捐妯″紡涔?-Prototypehttp://m.tkk7.com/pdw2009/archive/2006/06/28/55635.html鏈夌尗鐩鎬即鐨勬棩瀛?/dc:creator>鏈夌尗鐩鎬即鐨勬棩瀛?/author>Wed, 28 Jun 2006 15:26:00 GMThttp://m.tkk7.com/pdw2009/archive/2006/06/28/55635.htmlhttp://m.tkk7.com/pdw2009/comments/55635.htmlhttp://m.tkk7.com/pdw2009/archive/2006/06/28/55635.html#Feedback0http://m.tkk7.com/pdw2009/comments/commentRss/55635.htmlhttp://m.tkk7.com/pdw2009/services/trackbacks/55635.html鐢ㄥ師鍨嬪疄渚嬫寚瀹氬垱寤哄璞$殑縐嶇被錛屽茍涓旈兘榪囨嫹璐濊繖浜涘師鍨嬪緩寤烘柊鐨勫璞°?br />prototype妯″紡鍏呰涓涓璞″啀鍒涘緩鍙︿竴涓彲瀹氬埗鐨勫璞★紝鏍規湰鏃犻渶鐭ラ亾鍒涘緩鐨勭粏鑺傘?br />java涓彁渚涗簡clone()鏉ュ疄鐜板璞″厠闅嗐傛墍浠rototype妯″紡鍙樺緱浜嗗緢綆鍗曘傝鍙傝冧互涓嬩緥紼嬶細
package com.pdw.pattern;

abstract class AbsHello implements Cloneable{

聽String username;

聽public String getUsername() {
聽聽return username;
聽}

聽public void setUsername(String username) {
聽聽this.username = username;
聽}

聽public abstract void sayHello();

聽public Object clone(){
聽聽Object object=null;
聽聽try{
聽聽聽object=super.clone();
聽聽聽
聽聽}catch(Exception e){
聽聽聽System.err.println(e);
聽聽}
聽聽return object;
聽}
}
class OneHello extends AbsHello{
聽public OneHello(){
聽聽setUsername("peidw");
聽}
聽@Override
聽public void sayHello() {
聽聽// TODO Auto-generated method stub
聽聽System.out.println("OneHello-->SayHello to "+username);
聽}

}

class TwoHello extends AbsHello{
聽public TwoHello(){
聽聽setUsername("pxm");
聽}
聽@Override
聽public void sayHello() {
聽聽// TODO Auto-generated method stub
聽聽System.out.println("TwoHello-->sayHello to "+username);
聽}

}

public class Prototype {

聽/**
聽 * @param args
聽 */
聽public static void main(String[] args) {
聽聽// TODO Auto-generated method stub
聽聽AbsHello oneh=new OneHello();
聽聽AbsHello twoh=new TwoHello();
聽聽oneh.sayHello();
聽聽twoh.sayHello();
聽}

}




]]>
璁捐妯″紡涔婩actoryhttp://m.tkk7.com/pdw2009/archive/2006/06/28/55633.html鏈夌尗鐩鎬即鐨勬棩瀛?/dc:creator>鏈夌尗鐩鎬即鐨勬棩瀛?/author>Wed, 28 Jun 2006 14:54:00 GMThttp://m.tkk7.com/pdw2009/archive/2006/06/28/55633.htmlhttp://m.tkk7.com/pdw2009/comments/55633.htmlhttp://m.tkk7.com/pdw2009/archive/2006/06/28/55633.html#Feedback0http://m.tkk7.com/pdw2009/comments/commentRss/55633.htmlhttp://m.tkk7.com/pdw2009/services/trackbacks/55633.htmlpackage com.pdw.pattern;

interface Me{
聽public void sayHello();
聽public void sayBay();
}


class SampleFacotry implements Me{

聽public void sayHello() {
聽聽// TODO Auto-generated method stub
聽聽System.out.println("sampleFacotry->SayHello....");
聽}

聽public void sayBay() {
聽聽// TODO Auto-generated method stub
聽聽System.out.println("sampleFacotry->Bay....");
聽}

}
class PPFacotry implements Me{

聽public void sayHello() {
聽聽// TODO Auto-generated method stub
聽聽System.out.println("PPFacotry-->"+"Say Hello");
聽}

聽public void sayBay() {
聽聽// TODO Auto-generated method stub
聽聽System.out.println("PPFacotry-->"+"Say Bay.");
聽}

}
聽 /**
聽聽 * 浠ヤ竴鑸伐鍘傛柟娉曟瀯閫犵被
聽聽 * @author Administrator
聽聽 *
聽聽 */
class CreateFacotry{
聽public static Me createFacotry(String aa){
聽聽if(aa.equalsIgnoreCase("Sample")){
聽聽聽return new SampleFacotry();
聽聽}else if(aa.equalsIgnoreCase("")){
聽聽聽return new PPFacotry();
聽聽}else{
聽聽聽return null;
聽聽}
聽}
}
/**
聽* 鎿嶈薄宸ュ巶鐨勫疄鐜般?br />聽* @author Administrator
聽*
聽*/
abstract class CFacory{
聽public abstract SampleFacotry mecreator();
聽public abstract PPFacotry kkmeicreator();
}

class CFacoryImple extends CFacory{

聽@Override
聽public SampleFacotry mecreator() {
聽聽// TODO Auto-generated method stub
聽聽return new SampleFacotry();
聽}

聽@Override
聽public PPFacotry kkmeicreator() {
聽聽// TODO Auto-generated method stub
聽聽return new PPFacotry();
聽}

}

public class Facotry {
聽public static void main(String[] args){
聽聽Me a=CreateFacotry.createFacotry("Sample");
聽聽a.sayHello();
聽聽CFacoryImple cfi=new CFacoryImple();
聽聽Me me=cfi.mecreator();
聽聽Me ppme=cfi.kkmeicreator();
聽聽me.sayBay();
聽聽ppme.sayBay();
聽}
}

浠ヤ笂榪欎釜渚嬬▼錛岃鏄庝簡涓鑸伐鍘備互鍙婃搷璞″伐鍘傜殑瀹炵幇銆?br />宸ュ巶榪欎釜鏋勯犳ā寮忓湪寮鍙戜腑浼氱粡甯哥敤鍒?



]]>
主站蜘蛛池模板: 97青青草原国产免费观看| 两个人看的www高清免费视频| 99re免费在线视频| 亚洲成AV人片在线观看无| 中文字幕免费视频精品一| 最新精品亚洲成a人在线观看| 免费看一级高潮毛片| 成在线人永久免费视频播放| 亚洲精品天堂成人片AV在线播放 | 亚洲一线产品二线产品| 麻豆国产入口在线观看免费| 亚洲精品国产第一综合99久久| 韩国18福利视频免费观看| 在线看亚洲十八禁网站| 亚洲成av人片天堂网老年人 | 亚洲国产精品VA在线看黑人| 嫩草在线视频www免费看| 久久久综合亚洲色一区二区三区| 男人的天堂网免费网站| 亚洲最大免费视频网| 免费看的成人yellow视频| 香港一级毛片免费看| 亚洲人成色77777| 中国人xxxxx69免费视频| 亚洲制服丝袜第一页| 国产又黄又爽又刺激的免费网址| 天堂亚洲免费视频| 亚洲国产精品无码成人片久久| 99国产精品视频免费观看| 亚洲综合一区无码精品| 亚洲一区日韩高清中文字幕亚洲 | 成人毛片100免费观看| 精品亚洲成a人片在线观看少妇| 3344免费播放观看视频| 国产精品亚洲精品日韩电影| 77777亚洲午夜久久多人| 曰批全过程免费视频在线观看| 免费一级毛suv好看的国产网站| 亚洲AV第一页国产精品| 性盈盈影院免费视频观看在线一区| 一区二区免费国产在线观看|