锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产成人九九综合,精品亚洲国产成人av,亚洲aⅴ无码专区在线观看春色http://www.tkk7.com/aldmd/category/19690.htmlzh-cnWed, 04 Apr 2007 02:16:29 GMTWed, 04 Apr 2007 02:16:29 GMT60鎵鏈夋紓浜殑浠g爜璺戝摢閲屽幓浜?http://www.tkk7.com/aldmd/articles/98677.html鐙瓙蹇?/dc:creator>鐙瓙蹇?/author>Thu, 08 Feb 2007 02:23:00 GMThttp://www.tkk7.com/aldmd/articles/98677.htmlhttp://www.tkk7.com/aldmd/comments/98677.htmlhttp://www.tkk7.com/aldmd/articles/98677.html#Feedback0http://www.tkk7.com/aldmd/comments/commentRss/98677.htmlhttp://www.tkk7.com/aldmd/services/trackbacks/98677.html
涓嶈繃錛孒ohpe璐ㄧ枒錛屽亣濡傛墍鏈夌殑搴旂敤寮鍙戦」鐩兘浣跨敤棣栧洖鍚堢殑鑽夋錛屼粬濡備綍鎵嶈兘鍙戠幇浠g爜涓殑緙洪櫡銆傚綋浠栧彂鐜頒唬鐮佷腑瀛樺湪鈥滆繖鏄釜閿欒鈥濇垨鑰呪滈渶瑕佽繘琛屾牳鏌モ濈瓑娉ㄩ噴鏃訛紝浠栧緢涓嶆弧鎰忋傛渶浣崇殑鏈浼樼鐨勭▼搴忓憳鎬庝箞鑳藉鍐欏嚭榪欐牱鐨勪唬鐮佸拰娉ㄩ噴鍛?

浠栦竴杈逛笉鏂噸澶嶇潃鑷繁鐨勫叧閿瘝錛屼竴杈歸棶:鈥滄墍鏈夋紓浜殑浠g爜璺戝摢閲屽幓浜?鈥濅粬鐢ㄥ紑鐜╃瑧鐨勮姘旇繖鏍瘋皟渚冭蔣浠跺紑鍙?鈥滃ぇ姒傛槸闂ㄥ崼鍦ㄥ崐澶滆繘鏉ユ妸鎴戜滑鐨勪唬鐮佹悶寰椾貢涓冨叓緋熷惂銆傗?br />
灝卞儚Hohpe鎵瑙佸埌鐨勬儏鍐典竴鏍鳳紝浠g爜寰堝鏃跺欐槸琚緢涓鑸殑鍙互闃叉鐨勫師鍥犳悶涔辯殑銆傚叾涓殑棣栬鍘熷洜灝辨槸鎷欏姡鐨勪唬鐮佸紩璧鋒洿澶氭嫏鍔g殑浠g爜銆備粬鐨勭悊璁烘槸錛屽鏋滄煇涓簲鐢ㄧ▼搴忕殑鏈鍒濈殑寮鍙戜漢鍛樹笉鑷繁鐨勪唬鐮佽鍒掓竻鏅幫紝璁╀換浣曠▼搴忓憳閮藉彲浠ョ悊瑙o紝閭d箞娼樺鎷夌殑鐩掑瓙灝變細琚墦寮銆?br />
鎺ヤ笅鏉ョ殑浜嬫儏浠庡紑鍙戜漢鍛樼紪鍐欎唬鐮佸紑濮嬶紝鍗充嬌浠g爜鍙互榪愯錛屼絾鏄唬鐮佹湰韜槸寰堥毦璁╁叾浠栫▼搴忓憳鐞嗚В鐨勩傛帴鐫錛屽湪搴旂敤涓婇┈涔嬪悗錛屾煇涓▼搴忓憳瑕佸仛涓騫寸殑緇存姢銆備唬鐮佸彉鎴愪簡涓鍫嗕貢涓冨叓緋熺殑涓滆タ銆?br />
鎵浠ワ紝鍙兘絎簩涓仛緇存姢鐨勭▼搴忓憳鍦ㄤ慨鏀規椂錛屼細瀵硅嚜宸辮:鈥滄垜鍙湪榪欓噷娣誨姞鎴戠殑浠g爜銆傚畠涓嶄細鍧忓埌鍝噷鍘葷殑銆傗?br />
浣嗙粡榪囦笂闈㈣繖鏍風殑鍑犺疆淇敼鍚庯紝鍘熷厛鐢辨渶浼樼鐨勪漢緙栧啓鐨勭壒鎬т唬鐮侊紝緇堜簬鍙樺緱瓚婃潵瓚婄碂緋曘?br />
浠栧悜鍑哄腑ServerSide浼氳鐨勫惉浼楁彁渚涗簡涓浜涢伩鍏嶄互涓婁簨鎯呭彂鐢熺殑鍑犵偣寤鴻銆備粬璇?鈥滆寮鴻揩鍐欏嚭鐨勪唬鐮佷笉浼氬ソ鍒板摢閲屽幓銆傝璁╀笅涓涓漢瑙夊緱浣犳槸鍦ㄨ姳澶у姏姘旂紪鍐欎紭闆呯殑浠g爜銆傗濅綔涓轟竴涓灦鏋勫笀錛屼粬棣栧厛瑕佹噦寰楀緩妯″搴旂敤紼嬪簭鐨勪環鍊箋備粬璇達紝榪欏茍涓嶉渶瑕佸緢澶嶆潅鐨勫緩妯″伐鍏鳳紝鐢氳嚦鍦ㄤ竴寮犵焊涓婄殑鐢繪ā鍨嬮兘鍙互鏈夊緢濂界殑鏁堟灉銆?br />
Hohpe鍙嶅寮鴻皟紼嬪簭鍛樺簲璇ユ槸涓轟漢鍐欎唬鐮侊紝鑰屼笉鏄負鏈哄櫒鍐欎唬鐮併備粬璇?鈥滆瀵逛漢浠氦浜掕涓鴻繘琛屽緩妯°傚綋娑夊強鐢ㄦ埛鐣岄潰鏃訛紝榪欎竴鐐瑰挨鍏墮噸瑕併傗濅粬寤鴻鍚戦潪紼嬪簭鍛樺睍紺哄簲鐢ㄧ▼搴忥紝鏉ヨ瀵熺▼搴忓憳瀵逛簬紼嬪簭宸ヤ綔鐨勭悊瑙e浜庢綔鍦ㄧ殑鏈緇堢敤鎴鋒槸鍚︽紜?br />
浠栨彁閱掗亾錛屾墍璋撶殑涓氬姟閫昏緫騫墮潪鎬繪槸鍜岀▼搴忓憳鎵鎯崇殑涓鏍楓備粬璇?鈥滃亣濡備笟鍔¢昏緫鐪熺殑鍜岀▼搴忓憳鎯崇殑涓鏍鳳紝閭d箞灝變笉浼氳繖涔堝洶闅句簡銆傝繖涔熸槸涓轟粈涔堣鎵懼埌鏈緇堢敤鎴風┒绔熷浣曚笌搴旂敤紼嬪簭浜や簰闈炲父閲嶈鐨勫師鍥犮傗?br />
浠栨暒淇僇ava紼嬪簭鍛樺埄鐢↗ava鐨勭粡楠屾潵緙栧啓璁捐濂界殑浠g爜錛岃鍏朵粬紼嬪簭鍛樿寰椾紭闆呫傗滀負浜鴻屼笉鏄満鍣ㄧ紪鍐欎唬鐮佲濇槸Hohpe鎬濇兂鐨勬牳蹇冦備粬寤鴻錛屽鏋滅▼搴忓憳浠呬粎鍙負鏈哄櫒鍐欎唬鐮侊紝閭d箞浠栦滑灝變笉闇瑕丣ava錛屼粬浠彲浠ュ洖鍒版眹緙栦唬鐮佺殑鏃朵唬銆?img src ="http://www.tkk7.com/aldmd/aggbug/98677.html" width = "1" height = "1" />

]]>
[杞創]浣犺繕鍦ㄧ敤if else鍚楋紵http://www.tkk7.com/aldmd/articles/98676.html鐙瓙蹇?/dc:creator>鐙瓙蹇?/author>Thu, 08 Feb 2007 02:22:00 GMThttp://www.tkk7.com/aldmd/articles/98676.htmlhttp://www.tkk7.com/aldmd/comments/98676.htmlhttp://www.tkk7.com/aldmd/articles/98676.html#Feedback0http://www.tkk7.com/aldmd/comments/commentRss/98676.htmlhttp://www.tkk7.com/aldmd/services/trackbacks/98676.html鏉挎ˉ閲屼漢 http://www.jdon.com 2006/1/11

銆銆闈㈠悜榪囩▼璁捐鍜岄潰鍚戝璞¤璁$殑涓昏鍖哄埆鏄細鏄惁鍦ㄤ笟鍔¢昏緫灞備嬌鐢ㄥ啑闀跨殑if else鍒ゆ柇銆傚鏋滀綘榪樺湪澶ч噺浣跨敤if else錛屽綋鐒訛紝鐣岄潰琛ㄧ幇灞傞櫎澶栵紝鍗充嬌浣犱嬌鐢↗ava/C#榪欐牱瀹屽叏闈㈠悜瀵硅薄鐨勮璦錛屼篃鍙兘璇存槑浣犵殑鎬濈淮鍋滅暀鍦ㄤ紶緇熺殑闈㈠悜榪囩▼璇█涓娿?/p>

浼犵粺鎬濈淮涔犳儻鍒嗘瀽

銆銆涓轟粈涔堜細涓氬姟閫昏緫灞備嬌鐢╥f else錛屽叾瀹炰嬌鐢ㄨ呯殑鐩殑涔熸槸涓轟簡閲嶇敤錛屼絾鏄繖鏄潰鍚戣繃紼嬬紪紼嬬殑閲嶇敤錛岀▼搴忓憳鍙湅鍒頒唬鐮侀噸鐢紝鍥犱負浠栫湅鍒癷f else鍑犵鎯呭喌涓嬪ぇ閮ㄥ垎浠g爜閮芥槸閲嶅鐨勶紝鍙湁涓埆涓嶅悓錛屽洜姝や嬌鐢╥f else鍙互閬垮厤閲嶅浠g爜錛屽茍涓旇涓鴻繖鏄ā鏉縏emplate妯″紡銆?/p>

銆銆浠栬寖鐨勯敊璇槸錛氱▼搴忓憳鍙粠浠g爜榪愯欏哄簭榪欎釜鏂瑰悜鏉ョ湅寰呭畠鐨勪唬鐮侊紝榪欑鎬濈淮綾諱技姘寸鎴栦覆琛岀數璺紝姘存部鐫姘寸嫻佸姩錛堜唬鐮佽繍琛屾搴忥級錛屽綋閬囧埌鍑犱釜鍒嗙錛堝瓙綆★級錛屽氨鍒嗗埌榪欏嚑涓垎綆″瓙鍦ㄦ祦鍔紝榪欓噷灝辯浉褰撲簬紕板埌浠g爜鐨刬f else澶勪簡銆?/p>

銆銆鑰屼嬌鐢∣O錛屽垯棣栧厛鎵撶牬榪欎釜浠g爜鐢變笂鍚戜笅欏哄簭絳夊悓浜庤繍琛屾椂鐨勫厛鍚庡驚搴忚繖涓寰嬶紝浠g爜緇撴瀯涓嶇敱鎵ц寰簭鍐沖畾錛岀敱浠涔堝喅瀹氬憿錛熺敱OO璁捐錛涜璁℃ā寮忎細鍙栦唬榪欎簺if else錛屼絾鏄渶鍚庢繪槸鐢變竴涓猄ervice絳夋葷被鎸夌収榪愯欏哄簭緇勮榪欎簺OO妯″潡錛屽彧鏈変竴澶勶紝榪欏鍙寘鍚簨鍔★紝涓鑸氨鏄疭ervice錛孍JB涓槸Session bean銆?/p>

銆銆涓鏃﹂渶姹傚彉鍖栵紝鎴戜滑鏇村鐨勫彲鑳芥槸Service涓悇涓狾O妯″潡錛岀敋鑷蟲槸鍙敼鍔⊿ervice涓殑OO妯″潡鎵ц欏哄簭灝辮兘絎﹀悎闇姹傘?/p>

銆銆榪欓噷鎴戜滑涔熺湅鍒癘O鍒嗙鐨勬濊礬錛屽皢浠ュ墠榪囩▼璇█鐨勪竴涓狹ain鍑芥暟褰誨簳鍒嗚В錛屽皢榪愯欏哄簭涓庝唬鐮佸叾浠栭昏緫鍒嗙寮鏉ワ紝鑰屼笉鏄薄闈㈠悜榪囩▼閭f牱娣蜂貢鍦ㄤ竴璧楓傛墍浠ユ湁浜烘劅鎱紝OO涔熸槸瑕侀『搴忕殑錛岃繖鏄偗瀹氱殑錛屽叧閿槸榪愯欏哄簭瑕佸崟鐙垎紱誨嚭鏉ャ?/p>

銆銆鏄惁鏈塱f else鍙互鐪嬪嚭浣犳湁娌℃湁灝嗚繍琛岄『搴忓垎紱誨埌瀹躲?/p>

璁捐妯″紡鐨勫垏鍏ュ彛

銆銆緇忓父鏈変漢鍙嶆槧錛岃璁℃ā寮忔槸涓嶉敊錛屼絾鏄垜寰堥毦鐢ㄥ埌錛屽叾瀹炲鏋滀綘浣跨敤if else鏉ュ啓浠g爜鏃訛紙闄ゆ樉紺烘帶鍒朵互澶栵級錛屽氨鏄湪鍐欎笟鍔¢昏緫錛屽彧涓嶈繃浣跨敤綆鍗曠殑鍒ゆ柇璇彞鏉ヤ綔涓虹幇瀹炴儏鍐電殑鏇夸唬鑰呫?/p>

銆銆 榪樻槸浠ュぇ瀹剁啛鎮夌殑璁哄潧甯栧瓙涓轟緥瀛愶紝濡侳orumMessage鏄竴涓ā鍨嬶紝浣嗘槸瀹為檯涓笘瀛愬垎涓ょ鎬ц川錛氫富棰樿創錛堢涓涓牴璐達級鍜屽洖甯栵紙鍥炰互鍓嶅笘瀛愮殑甯栧瓙錛夛紝榪欓噷鏈変竴涓湸绱犵殑瑙e喅鏂規錛?br />寤虹珛涓涓狥orumMessage錛岀劧鍚庡湪ForumMessage鍔犲叆isTopic榪欐牱鍒ゆ柇璇彞錛屾敞鎰忥紝浣犺繖閲屼竴涓畝鍗曞睘鎬х殑鍒ゆ柇寮曞叆錛屽彲鑳藉鑷翠綘鐨勭▼搴忓叾浠栧湴鏂瑰埌澶勫瓨鍦╥f else 鐨勫垽鏂?/p>

銆銆濡傛灉鎴戜滑鏀圭敤鍙﹀涓縐嶅垎鏋愬疄鐜版濊礬錛屼互瀵硅薄鍖栨蹇電湅寰咃紝瀹為檯涓湁涓婚璐村拰鍥炲笘錛屽氨鏄袱縐嶅璞★紝浣嗘槸榪欎袱縐嶅璞″ぇ閮ㄥ垎鏄竴鑷寸殑錛屽洜姝わ紝鎴戝皢ForumMessage璁句負琛ㄨ揪涓婚璐達紱鐒跺悗鍒涘緩涓涓戶鎵縁orumMessage鐨勫瓙綾籉orumMessageReply浣滀負鍥炲笘錛岃繖鏍鳳紝鎴戝湪紼嬪簭鍦版柟錛屽Service涓紝鎴戝凡緇忕‘瀹氳繖涓狹odel鏄洖甯栦簡錛屾垜灝辯洿鎺ヤ笅婧負ForumMessageReply鍗沖彲錛岃繖涓湁鐐圭被浼煎悜Collection鏀懼叆瀵硅薄鍜屽彇鍑烘椂鐨勫己鍒剁被鍨嬭漿鎹€傞氳繃榪欎釜鎵嬫鎴戞秷鐏簡浠ュ悗紼嬪簭涓璱f else鐨勫垽鏂鍙ュ嚭鐜板彲鑳姐?/p>

銆銆浠庤繖閲屼綋鐜頒簡錛屽鏋滃垎鏋愭柟鍚戦敊璇紝涔熶細瀵艱嚧璇敤妯″紡銆?/p>

銆銆璁ㄨ璁捐妯″紡涓句緥錛屼笉鑳芥病鏈変笟鍔′笂涓嬫枃鍦烘櫙鐨勬渚嬶紝鍚﹀垯鏃犳硶鍐沖畾鏄惁璇ョ敤妯″紡錛屼笅闈婦涓や釜瀵規瘮鐨勪緥瀛愶細

銆銆絎竴. 榪欎釜甯栧瓙涓婦渚嬬殑絎竴涓唬鐮佹渚嬫槸娌℃湁涓婁笅鏂囩殑錛屾枃涓彧璇存槑鏈変竴孌典唬鐮侊細

main() {

if錛坈ase A錛墈

//do with strategy A

}else(case B){

//do with strategy B

}else(case C){

//do with strategy C

}

}

銆銆榪欐浠g爜鍙槸綰補鐨勪唬鐮侊紝娌℃湁涓氬姟鍔熻兘錛屾墍浠ワ紝鍦ㄨ繖縐嶆儏鍐典笅錛屾垜浠氨寰堥毦紜畾浣跨敤浠涔堟ā寮忥紝灝辨槸涓瀹氱敤絳栫暐妯″紡絳夛紝涔熼冧笉榪囪繕鏄嬌鐢╥f else鐨勫懡榪愶紝璁捐妯″紡涓嶆槸欖旀硶錛屼笉鑳藉皢涓孌墊鏃犳剰涔夌殑浠g爜鍙樺緱綆鍗曚簡錛屽彧鑳藉皢鍏朵綋鐜扮殑涓氬姟鍔熻兘鏇村姞瀹規槗鍙嫇灞曚簡銆?/p>

銆銆絎簩.鍦?a target="_blank">榪欎釜甯栧瓙涓紝浣滆呬婦浜嗕竴涓狿acketParser涓氬姟妗堜緥錛岃繖孌典唬鐮佹槸浣撶幇涓氬姟鍔熻兘鐨勶紝鏄竴涓暟鎹寘鐨勫垎鏋愶紝浣滆呬篃姣旇緝浜嗗悇縐嶆ā寮忎嬌鐢ㄧ殑涓嶅悓錛屾墍浠ユ垜浠繕鏄嬌鐢ㄥ姩鎬佷唬鐞嗘ā寮忔垨Command妯″紡鏉ユ秷鐏偅浜涘彲鑳藉瓨鍦ㄧ殑if else

銆銆鐢變互涓婁袱涓渚嬭〃鏄庯細涓氬姟閫昏緫鏄垜浠嬌鐢ㄨ璁℃ā寮忕殑鍒囧叆鐐癸紝鑰屽湪鍒嗚В涓氬姟閫昏緫鏃訛紝鎴戜滑涔犳儻鍒欏彲鑳戒嬌鐢╥f else鏉ュ疄鐜幫紝褰撲綘鏈夎繖縐嶄紒鍥炬垨鑰呭凡緇忓疄鐜頒唬鐮佷簡錛岄偅涔堝氨搴旇鑰冭檻鏄惁闇瑕侀噸鏋凴efactoring浜嗐?br />

if else鏇夸唬鑰?/strong>

銆銆閭d箞瀹炴垬涓紝鍝簺璁捐妯″紡鍙互鏇夸唬if else鍛紵鍏跺疄GoF璁捐妯″紡閮藉彲浠ョ敤鏉ユ浛浠f else錛屾垜浠垎鍒弿榪板涓嬶細

  • 鐘舵佹ā寮忋
    銆銆褰撴暟鎹璞″瓨鍦ㄥ悇縐嶅彲鑳芥х殑鐘舵侊紝鑰屼笖榪欑鐘舵佸皢浼氬獎鍝嶅埌涓嶅悓涓氬姟緇撴灉鏃訛紝閭d箞鎴戜滑灝卞簲璇ヨ冭檻鏄惁浣跨敤鐘舵佹ā寮忥紝褰撶劧錛屼嬌鐢ㄧ姸鎬佹ā寮忎箣鍓嶏紝浣犲繀欏婚鍏堟湁鍐呭瓨鐘舵佽繖涓蹇碉紝鑰屼笉鏄暟鎹簱姒傚康錛屽洜涓哄湪浼犵粺鐨勯潰鍚戣繃紼嬬殑/闈㈠悜鏁版嵁搴撶殑緋葷粺涓紝浣犲緢闅懼彂鐜扮姸鎬佺殑錛屼粠鏁版嵁搴撲腑璇誨彇鏌愪釜鍊鹼紝鐒跺悗鏍規嵁榪欎釜鍊艱繘琛屼唬鐮佽繍琛屽垎嫻侊紝榪欐槸寰堝鍒濆鑰呭父騫茬殑浜嬫儏銆傚弬鑰冩枃绔?鐘舵佸璞★細鏁版嵁搴撶殑鏇夸唬鑰?/font>
    銆銆浣跨敤浼犵粺璇█鎬濈淮鐨勬儏鍐佃繕鏈夛細浣跨敤涓涓被鏁存暟鍙橀噺鏍囪瘑鐘舵侊細

    public class Order{

    private int status;

    //璇存槑錛?

    //status=1 琛ㄧず璁㈣揣浣嗕負鏌ョ湅 錛?/p>

    //status=2 琛ㄧず宸茬粡鏌ョ湅鏈鐞嗭紱

    //status=3 琛ㄧず宸茬粡澶勭悊鏈粯嬈?/p>

    //status=4 琛ㄧず宸茬粡浠樻鏈彂璐?/p>

    //status=5 琛ㄧず宸茬粡鍙戣揣

    }


    銆銆涓婅堪綾昏璁★紝鏃犵枒鏄皢綾諱綔涓轟紶緇熻璦鐨勫嚱鏁版潵浣跨敤錛岃繖鏍峰鑷寸▼搴忎唬鐮佷腑瀛樺湪澶ч噺鐨刬f else銆?br />
  • 絳栫暐妯″紡銆
    銆銆褰撲綘闈復鍑犵綆楁硶鎴栬呭叕寮忛夋嫨鏃訛紝鍙互鑰冭檻絳栫暐妯″紡錛屼紶緇熻繃紼嬭璦鎯呭喌鏄細浠庢暟鎹簱涓鍙栫畻娉曟暟鍊鹼紝鏁板?琛ㄧず絳栫暐1錛屼緥濡備繚瀛樺埌鏁版嵁搴擄紱鏁板間負2琛ㄧず絳栫暐2錛屼緥濡備繚瀛樺埌XMl鏂囦歡涓傝繖閲屼嬌鐢╥f else浣滀負絳栫暐閫夋嫨鐨勫紑鍏熾?

  • command妯″紡銆
    銆銆浼犵粺榪囩▼鐨勬濈淮鎯呭喌鏄細濡傛灉瀹㈡埛绔彂鍑轟唬鍙鋒槸1鎴?A"錛岄偅涔堟垜璋冪敤A.java榪欎釜瀵硅薄鏉ュ鐞嗭紱濡傛灉浠e彿鏄?鎴?B"錛屾垜灝辮皟鐢˙.java鏉ュ鐞嗭紝閫氳繃if else鏉ュ垽鏂鎴風鍙戦佽繃鏉ョ殑浠g爜錛岀劧鍚庢寜浜嬪厛綰﹀畾鐨勫搴旇〃錛岃皟鐢ㄧ浉搴旂殑綾繪潵澶勭悊銆?br />
  • MVC妯″紡銆
    銆銆MVC妯″紡鐨勪紶緇熻璦璇敤鍜孋ommand妯″紡綾諱技錛屽湪涓涓狝ction綾諱腑錛屼嬌鐢╥f else榪涜鍓嶅悗鍙拌皟搴︼紝濡傛灉瀹㈡埛绔紶閫佷粈涔堝懡浠わ紱鎴戝氨璋冪敤鍚庡彴浠涔堢粨鏋滐紱濡傛灉鍚庡彴澶勭悊浠涔堢粨鏋勶紝鍐嶅喅瀹氭帹浠涔堥〉闈紝涓嶈繃錛岀幇鍦ㄦ垜浠嬌鐢⊿truts/JSF榪欐牱MVC妯″紡鐨勬鏋跺疄鐜拌呭氨涓嶅繀鑼冭繖縐嶄綆綰ч敊璇?br />
  • 鑱岃矗閾炬ā寮忋
    銆銆鑱岃矗閾炬ā寮忓拰Command妯″紡鏄彲閫夌殑錛屽鏋滀綘瀹炲湪涓嶇煡閬撳鎴風浼氬彂鍑轟粈涔堜唬鍙鳳紱涔熸病鏈変竴涓簨鍏堝畾涔夊ソ鐨勫鐓ц〃錛岄偅涔堜綘鍙兘緙栧啓涓涓釜綾誨幓紕拌繍姘斾竴鏍鋒墦寮榪欎釜鍖呯湅涓涓嬪氨鍙互銆備笌Command鏄笉鍚屽湪AOP vs Decorator涓鏂囦腑鏈夊垎鏋愩?br />
  • 浠g悊鎴栧姩鎬佷唬鐞嗘ā寮忋
    銆銆浠g悊瀵硅薄鍙互鏄鍚堟煇縐嶆潯浠剁殑浠h〃鑰咃紝姣斿錛屾潈闄愭楠岋紝浼犵粺闈㈠悜榪囩▼鎬濈淮鏄細褰撲竴涓敤鎴風櫥闄嗗悗錛岃闂煇璧勬簮鏃訛紝浣跨敤if else榪涜鍒ゆ柇錛屽彧鏈夋煇縐嶆潯浠剁鍚堟椂錛屾墠鑳藉厑璁歌闂紝榪欐牱鏉冮檺鍒ゆ柇鍜屼笟鍔℃暟鎹昏緫娣蜂貢鍦ㄤ竴璧鳳紝浣跨敤浠g悊妯″紡鍙互娓呮櫚鍒嗙錛屽鏋滃珜涓嶅お濂斤紝浣跨敤鍔ㄦ佷唬鐞嗭紝鎴栬呬笅闈OP絳夋柟寮忋?br />
  • AOP鎴朌ecorator妯″紡
    銆銆
    銆銆鍏跺疄浣跨敤filter榪囨護鍣ㄤ篃鍙互鏇夸唬鎴戜滑涓氬姟涓殑if else錛岃繃婊ゅ櫒璧峰埌涓縐嶈繃婊ゅ拰絳涢変綔鐢紝灝嗙鍚堟湰榪囨護鍣ㄦ潯浠剁殑瀵硅薄鎷︽埅涓嬫潵鍋氭煇浠朵簨鎯咃紝榪欏氨鏄竴涓繃婊ゅ櫒鐨勫姛鑳斤紝澶氫釜榪囨護鍣ㄧ粍鍚堝湪涓璧峰疄闄呭氨鏄痠f else鐨勭粍鍚堛?br />銆銆鎵浠ワ紝濡傛灉浣犲疄鍦ㄦ兂涓嶅嚭浠涔堝姙娉曪紝鍙互浣跨敤榪囨護鍣紝灝嗚繃婊ゅ櫒鐪嬫垚闃茬伀澧欏氨姣旇緝濂界悊瑙o紝褰撳鎴風鏈変竴涓姹傛椂錛岀粡榪囦笉鍚屾ц川鐨勯槻鐏錛岃繖涓槻鐏鏄嫤鎴鍙g殑錛涢偅涓槻鐏鏄畨鍏ㄦ鏌ユ嫤鎴瓑絳夈傝繃婊ゅ櫒涔熷鍚岀孩钃濈櫧鍚勭鍏夋護闀滐紱綰㈣壊婊ら暅鍙兘灝嗛氳繃鍏夌嚎涓殑綰㈣壊鎷︽埅浜嗭紱钃濊壊婊ら暅灝嗗厜綰夸腑鐨勮摑鑹叉嫤鎴笅鏉ワ紝榪欏疄闄呬笂鏄鍏夌嚎浣跨敤if else榪涜鍒嗚В銆?br />

    銆銆濡傚浘錛岄氳繃涓涓釜鏉′歡榪囨護鍣ㄦ垜浠珛浣撳湴瀹炵幇浜嗗淇″彿鐨勫垎紱伙紝濡傛灉浣犱嬌鐢╥f else錛岃鏄庝綘鏄皢鍥句腑鐨勬潯浠?/2/3/4鍚堝茍鍦ㄤ竴璧鳳紝鍦ㄥ悓涓涓湴鏂瑰疄鐜版潯浠跺垽鏂?br />銆銆闇瑕佹繁鍏ヤ簡瑙h繃婊ゅ櫒鐨勫疄鐜扮粏鑺傚拰寰皬鍖哄埆錛岃鍙傝冩枃绔狅細AOP vs Decorator

    OO璁捐鐨勬葷粨銆銆

    銆銆榪樻湁涓縐嶄吉妯″紡錛岃櫧鐒朵嬌鐢ㄤ簡鐘舵佺瓑妯″紡錛屼絾鏄湪妯″紡鍐呴儴瀹炶川榪樻槸浣跨敤if else鎴杝witch榪涜鐘舵佸垏鎹㈡垨閲嶈鏉′歡鍒ゆ柇錛岄偅涔堟棤鐤戣鏄庤繕闇瑕佽繘涓姝ュ姫鍔涖傛洿閲嶈鐨勬槸錛屼笉鑳戒互妯″紡鑷眳錛岃屼笖鍑轟功紺轟漢銆?/p>

    銆銆鐪熸鎺屾彙闈㈠悜瀵硅薄榪欎簺鎬濇兂鏄竴浠跺洶闅劇殑浜嬫儏錛岀洰鍓嶆湁鍚勭灞炰簬鎻潃鑷繁澶村彂鍚戜笂鎷旂殑瑙h錛岄兘鏄浜哄瓙寮熺殑錛屾墍浠ユ垜瑙夊緱鍒濆鑰呰Thinking in Java錛圝ava緙栫▼鎬濇兂錛夋槸娌℃湁鐢紝瀹冭瘯鍥句粠璇█灞傛鏉ヨOO緙栫▼鎬濇兂錛岄潪甯稿け璐ワ紝浣滀負璇█鍙傝冧功鍙互錛屼絾鏄綔涓篔ava浣撶幇鐨凮O鎬濇兂鐨勫涔犺祫鏂欙紝灝遍敊浜嗐?/p>

    銆銆OO緙栫▼鎬濇兂鏄竴縐嶆柟娉曡錛屾柟娉曡濡傛灉娌℃湁搴旂敤姣旇緝錛屾槸鏃犳硶浣撲細榪欎釜鏂規硶璁虹殑鐗圭偣鐨勶紝紱呮槸鍙や唬涓涓柟娉曡錛屾偀紱呮槸闈犳寫姘寸爫鏌磋繖浜涘簲鐢ㄦ墠鑳戒綋浼氥?/p>

    銆銆閭d箞OO鎬濇兂闈犱粈涔堝簲鐢ㄨ兘澶熶綋浼氬埌浜嗭紵鏄疓oF璁捐妯″紡錛孏oF璁捐妯″紡鏄瓑浜庤蔣浠朵漢鍛樼殑鎸戞按鐮嶆煷絳夊熀鏈椿錛屾墍浠ワ紝濡傛灉涓涓▼搴忓憳榪炲熀鏈椿閮戒笉浼氾紝浠栦綍浠ヨ嚜灞匫O紼嬪簭鍛橈紵浠庝簨OO涓撲笟璁捐緙栫▼榪欎釜宸ヤ綔錛屽鏋滀笉鎺屾彙璁捐妯″紡鍩烘湰鍔燂紝灝辮薄涓涓仛鍜屽皻鐨勪漢涓嶆効鎰忔寫姘寸爫鏌達紝浠栦綍浠ョ珛瓚寵繖涓涓氾紵鏃╁氨琚笀鍌呰刀涓嬪北銆?/p>

    銆銆鏈鍚庢葷粨錛氬皢if else鐢ㄥ湪灝忓湴鏂硅繕鍙互錛屽綆鍗曠殑鏁板煎垽鏂紱浣嗘槸濡傛灉鎸夌収浣犵殑浼犵粺涔犳儻鎬濈淮錛屽湪瀹炵幇涓氬姟鍔熻兘鏃朵篃浣跨敤if else錛岄偅涔堣鏄庝綘鐨勬濈淮鍙兘闇瑕侀噸濉戯紝浣犵殑緙栫▼緇忛獙瓚婁赴瀵岋紝浼犵粺榪囩▼鎬濈淮妯″紡灝卞鏄撴牴娣辮拏鍥猴紝鎯抽潬鑷繁鏀瑰彉寰堝洶闅撅紱寤鴻鎺ュ彈涓撲笟澶磋剳椋庢毚鍩硅銆?/p>

    銆銆鐢ㄤ竴鍙ヨ瘽鎬葷粨錛氬鏋滀綘鍋氫簡涓嶅皯緋葷粺錛屽緢涔呮病鏈変嬌鐢╥f else浜嗭紝閭d箞璇存槑浣犲彲鑳界湡姝h繘鍏O璁捐鐨勫鍦頒簡銆傦紙榪欐槸鏈漢鑷繁鍙戞槑鐨勫疄鎴樻х殑琛¢噺鑰冩牳鏍囧噯錛夈?/p>

    鐩稿叧璧勬枡錛?/p>

    闈㈠悜瀵硅薄涓庨鍩熷緩妯?

    GoF璁捐妯″紡

    杞歡鏈澶х殑榪芥眰鏄粈涔堬紵

    鏁版嵁搴撴椂浠g殑緇堢粨



  • ]]>
    Java緙栫▼鎶宸э細鍒楄〃鎺掑簭http://www.tkk7.com/aldmd/articles/97388.html鐙瓙蹇?/dc:creator>鐙瓙蹇?/author>Thu, 01 Feb 2007 15:23:00 GMThttp://www.tkk7.com/aldmd/articles/97388.htmlhttp://www.tkk7.com/aldmd/comments/97388.htmlhttp://www.tkk7.com/aldmd/articles/97388.html#Feedback0http://www.tkk7.com/aldmd/comments/commentRss/97388.htmlhttp://www.tkk7.com/aldmd/services/trackbacks/97388.html聽[鎽樿嚜錛欳SDN http://dev.csdn.net/article/31/31142.shtm]

    鍦↗ava Collection Framework涓畾涔夌殑List瀹炵幇鏈塚ector錛孉rrayList鍜孡inkedList銆傝繖浜涢泦鍚堟彁渚涗簡瀵瑰璞$粍鐨勭儲寮曡闂備粬浠彁渚涗簡鍏冪礌鐨勬坊鍔犱笌鍒犻櫎鏀寔銆傜劧鑰岋紝瀹冧滑騫舵病鏈夊唴緗殑鍏冪礌鎺掑簭鏀寔.

    浣犺兘澶熶嬌鐢╦ava.util.Collections綾諱腑鐨剆ort()鏂規硶瀵筁ist鍏冪礌榪涜鎺掑簭銆備綘鏃㈠彲浠ョ粰鏂規硶浼犻掍竴涓狶ist瀵硅薄錛屼篃鍙互浼犻掍竴涓狶ist鍜屼竴涓狢omparator銆傚鏋滃垪琛ㄤ腑鐨勫厓绱犲叏閮芥槸鐩稿悓綾誨瀷鐨勭被錛屽茍涓旇繖涓被瀹炵幇浜咰omparable鎺ュ彛錛屼綘鍙互綆鍗曠殑璋冪敤Collections.sort()銆傚鏋滆繖涓被娌℃湁瀹炵幇Comparator錛屼綘涔熷彲浠ヤ紶閫掍竴涓狢omparator鍒版柟娉晄ort()涓紝榪涜鎺掑簭銆傚鏋滀綘涓嶆兂浣跨敤緙虹渷鐨勫垎綾婚『搴忚繘琛屾帓搴忥紝浣犲悓鏍峰彲浠ヤ紶閫掍竴涓狢omparator鍒版柟娉晄ort()涓潵榪涜鎺掑簭銆傚鏋滃垪琛ㄤ腑鐨勫厓绱犲茍涓嶉兘鏄浉鍚岀被鍨嬬殑綾伙紝浣犲湪榪涜鎺掑簭鐨勬椂鍊欏氨涓嶆槸榪欐牱騫歌繍浜嗐傞櫎闈炰綘緙栧啓涓涓笓鐢ㄧ殑璺ㄧ被鐨凜omparator銆?/font>

    銆銆鎺掑簭鐨勯『搴忔庝箞鏍峰憿錛熷鏋滃厓绱犳槸String瀵硅薄錛屽嵈鐪佺殑鎺掑簭欏哄簭鏄寜鐓у瓧絎︾紪鐮佽繘琛岀殑錛屽熀鏈笂鏄瘡涓瓧絎︾殑ASCII/Unicode鍊箋傚鏋滀弗鏍肩殑闄愬埗鍦ㄥ鐞嗚嫳鏂囷紝鍗寸渷鐨勬帓搴忛『搴忛氬父鏄凍澶熺殑錛屽洜涓哄畠棣栧厛鎺扐-Z錛岀劧鍚庢槸灝忓啓瀛楁瘝a-z銆傜劧鑰屽鏋滀綘澶勭悊闈炶嫳鏂囧瓧錛屾垨鑰呬綘鍙槸鎯充嬌鐢ㄤ笉鍚岀殑鎺掑簭欏哄簭錛岃繖鏍稢ollections.sort()灝卞嚭鐜頒簡絎簩縐嶅彉鍖栥備緥濡傦紝浣犳兂浣跨敤瀛楃涓茬殑鍙嶅簭榪涜鎺掑簭銆備負浜嗗疄鐜拌繖涓姛鑳斤紝浣犲彲浠ュ湪Collections綾諱腑閫氳繃reverseOrder()鏉ヨ幏鍙栦竴涓弽搴廋omparator銆傜劧鍚庯紝浣犲皢鍙嶅簭Comparator浼犻掔粰sort()鏂規硶銆傛崲鍙ヨ瘽璇達紝浣犱綔濡備笅宸ヤ綔錛?

    List list = ...;
    Comparator comp = Collections.reverseOrder();
    Collections.sort(list, comp);

    銆銆濡傛灉鍒楄〃鍖呭惈欏圭洰錛歁an, man, Woman, 鍜寃oman錛屾帓搴忓ソ鐨勫垪琛ㄥ皢鏄疢an, Woman, man, woman銆傝繖閲屾病鏈変粈涔堝鏉傜殑銆傞渶瑕佹敞鎰忕殑闈炲父閲嶈鐨勪竴鐐規槸Collections.sort()鏄繘琛屽師浣嶆帓搴忋傚鏋滀綘闇瑕佷繚鐣欏師搴忥紝闇瑕佸厛瀵瑰師闆嗗悎榪涜澶嶅埗錛屽湪鎺掑簭錛屽氨鍍忚繖鏍鳳細

    List list = ...;
    List copyOfList = new ArrayList(list);
    Collections.sort(copyOfList);

    銆銆榪欓噷錛屾帓濂藉簭鐨勫垪琛ㄦ槸錛歁an, Woman, man, woman錛屼絾鏄師濮嬪垪琛紙Man, man, Woman, woman錛夎淇濈暀浜嗐?/font>

    銆銆鍒扮洰鍓嶄負姝紝鎺掑簭鏄尯鍒嗗ぇ灝忓啓鐨勩備綘濡備綍榪涜涓嶅幓鍒嗗ぇ灝忓啓鐨勬帓搴忓憿錛熶竴縐嶅疄鐜版柟寮忔槸璞¤繖鏍峰疄鐜癈omparator:

    public static class CaseInsensitiveComparator
    implements Comparator {
    public int compare(Object element1,
    Object element2) {
    String lower1 =
    element1.toString().toLowerCase();
    String lower2 =
    element2.toString().toLowerCase();
    return lower1.compareTo(lower2);
    }
    }

    銆銆浣犵‘瀹炰笉闇瑕佹墜宸ョ殑鍒涘緩榪欎釜綾匯傝屾槸錛屼綘鍙互鏄敤浠ュ瓨鍦ㄧ殑Comparator錛孋ASE_INSENSIVTIVE_ORDER錛屽畠鏄湪String綾諱腑瀹氫箟鐨勩?/font>

    銆銆榪欑瀹炵幇鏂瑰紡鏈変竴鐐瑰皬灝忕殑闂銆係ort()綆楁硶鎻愪緵紼沖畾鐨勬帓搴忥紝騫朵繚鎸佷笌鍘熸湁搴忓垪鐩稿悓鐨勫厓绱犮傝繖鎰忓懗鐫涓涓寘鍚袱涓厓绱犫漺oman鈥濆拰鈥漌oman鈥濈殑鍒楄〃灝嗘湁涓嶅悓鐨勬帓搴忥紝鑰岃繖縐嶄笉鍚屾槸鏍規嵁涓や釜鍏冪礌鍦ㄥ垪琛ㄤ腑鍑虹幇鐨勫厛鍚庢搴忓喅瀹氱殑銆?/font>

    銆銆璇█鐨勪笉鍚屽張浼氭庝箞鏍峰憿錛焜ava.text鍖呮彁渚涗簡Collector鍜孋ollectionKey綾繪潵榪涜鍖哄垎璇█鐨勬帓搴忋傝繖閲屾槸渚嬪瓙:

    銆銆娉ㄦ剰錛屽鏋滀綘鐨勬枃鏈槸鏈湴璇█錛岃屼笉鏄己鐪佽璦錛屼綘闇瑕佷紶閫掍竴涓湰鍦拌縐嶇粰getInstance()鏂規硶錛屽氨璞?

    public static class CollatorComparator
    implements Comparator {
    Collator collator = Collator.getInstance();
    public int compare(Object element1,
    Object element2) {
    CollationKey key1 = collator.getCollationKey(
    element1.toString());
    CollationKey key2 = collator.getCollationKey(
    element2.toString());
    return key1.compareTo(key2);
    }
    }

    銆銆浣犳槸鍦ㄥ闆嗗悎鍏抽敭瀛楄繘琛屾帓搴忥紝鑰屼笉鏄疄闄呯殑瀛楃涓層傝繖涓嶄粎鎻愪緵鍥哄畾鐨勪笉鍖哄垎澶у皬鍐欑殑鎺掑簭錛岃屼笖瀹冩槸璺ㄨ縐嶇殑鎺掑簭銆傛崲鍙ヨ瘽璇達紝濡傛灉浣犲瑗跨彮鐗欐枃鍜岄潪瑗跨彮鐗欐枃鐨勬販鍚堣瘝榪涜鎺掑簭錛岃瘝ma?ana (tomorrow)灝嗘帓鍦╩antra鐨勫墠闈€傚鏋滀綘涓嶄嬌鐢–ollector錛宮a?ana灝嗘帓鍦╩antra鐨勫悗闈€?/font>

    銆銆涓嬮潰榪欎釜紼嬪簭瀵逛竴涓垪琛ㄨ繘琛屼笉鍚岀被鍨嬬殑鎺掑簭錛堢己鐪佺殑銆佸尯鍒嗗ぇ灝忓啓鐨勩佸尯鍒嗚縐嶇殑錛夛細

    import java.awt.BorderLayout;
    import java.awt.Container;
    import java.io.*;
    import java.text.*;
    import java.util.*;
    import javax.swing.*;

    public class SortIt {

    public static class CollatorComparator
    implements Comparator {
    Collator collator = Collator.getInstance();
    public int compare(Object element1,
    Object element2) {
    CollationKey key1 = collator.getCollationKey(
    element1.toString());
    CollationKey key2 = collator.getCollationKey(
    element2.toString());
    return key1.compareTo(key2);
    }
    }

    public static class CaseInsensitiveComparator
    implements Comparator {
    public int compare(Object element1,
    Object element2) {
    String lower1 = element1.toString().
    toLowerCase();
    String lower2 = element2.toString().
    toLowerCase();
    return lower1.compareTo(lower2);
    }
    }

    public static void main(String args[]) {
    String words[] =
    {"man", "Man", "Woman", "woman",
    "Manana", "manana", "ma?ana", "Ma?ana",
    "Mantra", "mantra", "mantel", "Mantel"
    };

    // Create frame to display sortings
    JFrame frame = new JFrame("Sorting");
    frame.setDefaultCloseOperation(
    JFrame.EXIT_ON_CLOSE);
    Container contentPane = frame.getContentPane();
    JTextArea textArea = new JTextArea();
    JScrollPane pane = new JScrollPane(textArea);
    contentPane.add(pane, BorderLayout.CENTER);

    // Create buffer for output
    StringWriter buffer = new StringWriter();
    PrintWriter out = new PrintWriter(buffer);

    // Create initial list to sort
    List list = new ArrayList(Arrays.asList(words));
    out.println("Original list:");
    out.println(list);
    out.println();

    // Perform default sort
    Collections.sort(list);
    out.println("Default sorting:");
    out.println(list);
    out.println();

    // Reset list
    list = new ArrayList(Arrays.asList(words));

    // Perform case insensitive sort
    Comparator comp = new CaseInsensitiveComparator();
    Collections.sort(list, comp);
    out.println("Case insensitive sorting:");
    out.println(list);
    out.println();

    // Reset list
    list = new ArrayList(Arrays.asList(words));

    // Perform collation sort
    comp = new CollatorComparator();
    Collections.sort(list, comp);
    out.println("Collator sorting:");
    out.println(list);
    out.println();

    // Fill text area and display
    textArea.setText(buffer.toString());
    frame.pack();
    frame.show();
    }
    }

    銆銆濡傛灉浣犵殑涓昏闂鏄『搴忚闂紝鍙兘鍒楄〃涓嶆槸浣犵殑濂界殑鏁版嵁緇撴瀯閫夋嫨銆傚彧瑕佷綘鐨勯泦鍚堟病鏈夐噸澶嶏紝浣犲彲浠ュ湪鏍戯紙TreeSet錛変腑淇濆瓨浣犵殑鍏冪礌錛堟彁渚涙垨涓嶆彁渚汣omparator錛夈傝繖鏍鳳紝鍏冪礌灝嗘繪槸鎺掑簭褰㈠紡鐨勩?/font>



    ]]>
    主站蜘蛛池模板: 久久亚洲精品无码观看不卡| 美女啪啪网站又黄又免费| 亚洲国产成人片在线观看| 免费a级毛片18以上观看精品| 日韩欧美一区二区三区免费观看| 国产色爽免费无码视频| 国产精品福利片免费看| 一本到卡二卡三卡免费高| 五月天婷婷免费视频| 中文字幕版免费电影网站| 在线观看免费播放av片| 拍拍拍又黄又爽无挡视频免费| 成年人免费观看视频网站| 国产午夜亚洲不卡| 国产91在线|亚洲| 亚洲一区二区免费视频| 亚洲精品一卡2卡3卡四卡乱码| 亚洲色偷偷综合亚洲AV伊人蜜桃 | 亚洲人成人网站在线观看| 亚洲JIZZJIZZ中国少妇中文| 免费一级特黄特色大片在线观看 | 亚洲国产精品综合久久网各 | h在线看免费视频网站男男| 四虎免费影院ww4164h| 7723日本高清完整版免费| 成年人网站在线免费观看| 久久亚洲国产中v天仙www| 亚洲av综合日韩| 免费人成又黄又爽的视频在线电影| 一级做a爰片久久毛片免费陪| 中国人xxxxx69免费视频| 四虎影视大全免费入口| 免费a级毛片无码av| 亚洲制服丝袜精品久久| 国产精品亚洲综合一区在线观看| 一个人看的www免费在线视频| 久久综合AV免费观看| 亚洲人成网www| 亚洲深深色噜噜狠狠网站| 三年片在线观看免费观看大全中国| 69成人免费视频|