锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 騫跺彂緋葷粺甯鎬嬌鐢╮eactor妯″紡錛屼唬鏇垮父鐢ㄧ殑澶氱嚎紼嬬殑澶勭悊鏂瑰紡錛岃妭鐪佺郴緇熺殑璧勬簮錛屾彁楂樼郴緇熺殑鍚炲悙閲忋?/p> 鍏堢敤姣旇緝鐩磋鐨勬柟寮忔潵浠嬬粛涓涓嬭繖縐嶆柟寮忕殑浼樼偣錛岄氳繃鍜屽父鐢ㄧ殑澶氱嚎紼嬫柟寮忔瘮杈冧竴涓嬶紝鍙兘鏇村ソ鐞嗚В銆?/p> 浠ヤ竴涓楗負(fù)渚嬶紝姣忎竴涓漢鏉ュ氨槨愬氨鏄竴涓簨浠訛紝浠栦細(xì)鍏堢湅涓涓嬭彍鍗曪紝鐒跺悗鐐歸銆傚氨鍍忎竴涓綉绔欎細(xì)鏈夊緢澶氱殑璇鋒眰錛岃姹傛湇鍔″櫒鍋氫竴浜涗簨鎯呫傚鐞嗚繖浜涘氨槨愪簨浠剁殑灝遍渶瑕佹垜浠殑鏈嶅姟浜哄憳浜嗐?/p> 鍦ㄥ綰跨▼澶勭悊鐨勬柟寮忎細(xì)鏄繖鏍風(fēng)殑錛?/p> 涓涓漢鏉ュ氨槨愶紝涓涓湇鍔″憳鍘繪湇鍔★紝鐒跺悗瀹漢浼?xì)鐪嬭彍鍗曞Q岀偣鑿溿?鏈嶅姟鍛樺皢鑿滃崟緇欏悗鍘ㄣ?/p> 浜屼釜浜烘潵灝遍錛屼簩涓湇鍔″憳鍘繪湇鍔?#8230;… 浜斾釜浜烘潵灝遍錛屼簲涓湇鍔″憳鍘繪湇鍔?#8230;… 榪欎釜灝辨槸澶氱嚎紼嬬殑澶勭悊鏂瑰紡錛屼竴涓簨浠跺埌鏉ワ紝灝變細(xì)鏈変竴涓嚎紼嬫湇鍔°傚緢鏄劇劧榪欑鏂瑰紡鍦ㄤ漢灝戠殑鎯呭喌涓嬩細(xì)鏈夊緢濂界殑鐢ㄦ埛浣撻獙錛屾瘡涓浜洪兘鎰熻鑷繁鏄疺IP錛屼笓浜烘湇鍔$殑銆傚鏋滈鍘呬竴鐩磋繖鏍峰悓涓鏃墮棿鏈澶氭潵5涓浜猴紝榪欏槨愬巺鏄彲浠ュ緢濂界殑鏈嶅姟涓嬪幓鐨勩?/p> 鏉ヤ簡涓涓ソ娑堟伅錛屽洜涓鴻繖瀹跺簵鐨勬湇鍔″ソ錛屽悆楗殑浜哄浜嗚搗鏉ャ傚悓涓鏃墮棿浼?xì)鏉?0涓浜猴紝鑰佹澘寰堝紑蹇冿紝浣嗘槸鍙湁5涓湇鍔″憳錛岃繖鏍峰氨涓嶈兘涓瀵逛竴鏈嶅姟浜嗭紝鏈変簺瀹漢灝辮娌℃湁浜虹浜嗐傝佹澘灝卞張璇蜂簡5涓湇鍔″憳錛岀幇鍦ㄥソ浜嗭紝鍙堣兘姣忎釜浜洪兘鍙梀IP寰呴亣浜嗐?/p> 瓚婃潵瓚婂鐨勪漢瀵硅繖瀹墮鍘呮弧鎰忥紝瀹㈡簮鍙堝浜嗭紝鍚屾椂鏉ュ悆楗殑浜哄埌浜?0浜猴紝鑰佹澘楂樺叴涓嶈搗鏉ヤ簡錛屽啀璇鋒湇鍔″憳鍚э紝鍗犲湴鏂逛笉璇達(dá)紝榪樿寮宸ラ挶錛屽啀璇蜂漢灝辨敀涓嶅埌閽變簡銆傛庝箞鍔炲憿錛熻佹澘鎯充簡鎯籌紝10涓湇鍔″憳瀵逛粯20涓浜轟篃鏄兘瀵逛粯榪囨潵鐨勶紝鏈嶅姟鍛樺嫟蹇偣灝卞ソ浜嗭紝浼哄欏畬涓涓浜洪┈涓婁己鍊欏彟澶栦竴涓紝榪樻槸鏉ュ緱鍙?qiáng)鐨勩傜患鍚堣冭檻浜嗕竴涓嬶紝鑰佹澘鍐沖畾灝變嬌鐢?0涓湇鍔′漢鍛樼殑綰跨▼姹犲暒~~~ 浣嗘槸榪欐牱鏈変竴涓瘮杈冧弗閲嶇殑緙虹偣灝辨槸錛屽鏋滄鍦ㄦ帴鍙楁湇鍔″憳鏈嶅姟鐨勫浜虹偣鑿滃緢鎱紝鍏朵粬鐨勫浜哄彲鑳藉氨瑕佺瓑濂介暱鏃墮棿浜嗐傛湁浜涚伀鐖嗚劸姘旂殑瀹漢鍙兘灝辯瓑涓嶄簡璧頒漢浜嗐?/p> Reactor濡備綍澶勭悊榪欎釜闂鍛細(xì) 鑰佹澘鍚庢潵鍙戠幇錛屽浜虹偣鑿滄瘮杈冩參錛屽ぇ閮ㄦ湇鍔″憳閮藉湪絳夌潃瀹漢鐐硅彍錛屽叾瀹炲共鐨勬椿涓嶆槸澶銆傝佹澘鑳藉綋鑰佹澘褰撶劧鏈夌偣涓嶄竴鏍風(fēng)殑鍦版柟錛岀粓浜庡彂鐜頒簡涓涓柊鐨勬柟娉曪紝閭e氨鏄細(xì)褰撳浜虹偣鑿滅殑鏃跺欙紝鏈嶅姟鍛樺氨鍙互鍘繪嫑鍛煎叾浠栧浜轟簡錛岀瓑瀹漢鐐瑰ソ浜嗚彍錛岀洿鎺ユ嫑鍛間竴澹?#8220;鏈嶅姟鍛?#8221;錛岄┈涓婂氨鏈変釜鏈嶅姟鍛樿繃鍘繪湇鍔°傚樋鍢匡紝鐒跺悗鍦ㄨ佹澘鏈変簡榪欎釜鏂扮殑鏂規(guī)硶涔嬪悗錛屽氨榪涜浜嗕竴嬈¤鍛橈紝鍙暀浜嗕竴涓湇鍔″憳錛佽繖灝辨槸鐢ㄥ崟涓嚎紼嬫潵鍋氬綰跨▼鐨勪簨銆?/p> 瀹為檯鐨勯棣嗛兘鏄敤鐨凴eactor妯″紡鍦ㄦ湇鍔°備竴浜涜璁$殑妯″瀷鍏跺疄閮芥槸浠庣敓媧諱腑鏉ョ殑銆?/p> Reactor妯″紡涓昏鏄彁楂樼郴緇熺殑鍚炲悙閲忥紝鍦ㄦ湁闄愮殑璧勬簮涓嬪鐞嗘洿澶氱殑浜嬫儏銆?/p> 鍦ㄥ崟鏍哥殑鏈轟笂錛屽綰跨▼騫朵笉鑳芥彁楂樼郴緇熺殑鎬ц兘錛岄櫎闈炲湪鏈変竴浜涢樆濉炵殑鎯呭喌鍙戠敓銆傚惁鍒欑嚎紼嬪垏鎹㈢殑寮閿浼?xì)鋴慑鐞嗙殑閫熷害鍙樻參銆傚氨鍍忎綘涓涓漢鍋氫袱浠朵簨鎯咃紝1銆佸墛涓涓嫻鏋溿?銆佸垏涓涓タ鐡溿傞偅浣犲彲浠ヤ竴浠朵竴浠剁殑鍋氾紝鎴戞兂浣犱篃浼?xì)涓浠朵竴浠剁殑鍋氥傚鏋滆繖涓椂鍊欎綘浣跨敤澶氱嚎紼嬶紝涓浼?xì)鍎垮墛鑻规灉锛屼竴浼?xì)鍒囪タ鐡滃Q屽彲浠ョ浉鍍忕┒绔熸槸鍝釜閫熷害蹇傝繖涔熷氨鏄涓轟粈涔堝湪鍗曟牳鏈轟笂澶氱嚎紼嬫潵澶勭悊鍙兘浼?xì)鏇存參銆?/p> 浣嗗綋鏈夐樆紕嶆搷浣滃彂鐢熸椂錛屽綰跨▼鐨勪紭鍔挎墠浼?xì)鏄窘C哄嚭鏉ワ紝鐜板湪浣犳湁鍙﹀涓や歡浜嬫儏鍘誨仛錛?銆佸墛涓涓嫻鏋溿?銆佺儳涓澹跺紑姘淬傛垜鎯蟲病鏈変漢浼?xì)鍘诲仛瀹屼竴浠跺啀鍋氬彟涓浠訛紝浣犺偗瀹氫細(xì)涓杈圭儳姘達(dá)紝涓杈瑰氨鎶婅嫻鏋滃墛浜嗐?/p>
杞嚜:http://daimojingdeyu.iteye.com/blog/828696
]]>
鍦ㄥ璞$殑鍐呴儴鐘舵佸彂鐢熷彉鍖栨椂錛岃嚜鍔ㄩ氱煡澶栭儴瀵硅薄榪涜鍝嶅簲銆?/p>
浜屻丱bserver妯″紡鐨勬瀯鎴愶細(xì)
·琚瀵熻咃細(xì)鍐呴儴鐘舵佹湁鍙兘琚敼鍙橈紝鑰屼笖鍙堥渶瑕侀氱煡澶栭儴鐨勫璞?/p>
·瑙傚療鑰咃細(xì)闇瑕佸鍐呴儴鐘舵佺殑鏀瑰彉鍋氬嚭鍝嶅簲鐨勫璞?/p>
涓夈丱bserver妯″紡鐨凧ava瀹炵幇錛?/p>
Java鐨凙PI涓凡緇忎負(fù)鎴戜滑鎻愪緵浜哋bserver妯″紡鐨勫疄鐜般傚叿浣撶敱java.util.Observable綾誨拰java.util.Observer鎺ュ彛瀹屾垚銆?/p>
鍓嶈呮湁涓や釜閲嶈鐨勬柟娉曪細(xì)
·setChanged錛氳緗唴閮ㄧ姸鎬佷負(fù)宸叉敼鍙?/p>
·notifyObservers(Object obj)錛氶氱煡瑙傚療鑰呮墍鍙戠敓鐨勬敼鍙橈紝鍙傛暟obj鏄竴浜涙敼鍙樼殑淇℃伅
鍚庤呮湁涓涓牳蹇冩柟娉曪細(xì)
·update(Object obj)錛氱浉搴旇瑙傚療鑰呯殑鏀瑰彉錛屽叾涓璷bj灝辨槸琚瀵熻呬紶閫掕繃鏉ョ殑淇℃伅錛岃鏂規(guī)硶浼?xì)鍦╪otifyObservers琚皟鐢ㄦ椂鑷姩璋冪敤銆?/p>
涓嬮潰鏄疧bserver妯″紡鐨勫疄鐜拌繃紼嬶細(xì)
·鍒涘緩涓涓瑙傚療鑰咃紝緇ф壙java.util.Observable
·鍒涘緩涓涓瀵熻咃紝瀹炵幇java.util.Observer鎺ュ彛
· 娉ㄥ唽瑙傚療鐫錛岃皟鐢╝ddObserver(Observer observer)
·鍦ㄨ瑙傚療鑰呮敼鍙樺璞″唴閮ㄧ姸鎬佺殑鍦版柟錛岃皟鐢╯etChanged()鏂規(guī)硶錛岀劧鍚庤皟鐢╪otifyObservers(Object)鏂規(guī)硶錛岄氱煡琚瀵熻?/p>
·鍦ㄨ瀵熻呯殑update(Object)鏂規(guī)硶涓紝瀵規(guī)敼鍙樺仛鍑哄搷搴斻?/p>
鍥涖丱bserver妯″紡鐨勫ソ澶勶細(xì)
1.Observer妯″紡鐨勪紭鐐癸細(xì)
·琚瀵熻呭彧闇瑕佺煡閬撹皝鍦ㄨ瀵熷畠錛屾棤闇鐭ラ亾鍏蜂綋鐨勮瀵熺粏鑺?/p>
·琚瀵熻呬竴鏃﹀彂鐢熷彉鍖栵紝鍙渶瑕侀氳繃騫挎挱鐨勬柟寮忓憡鐭ヨ瀵熻咃紝鑷充簬娑堟伅濡備綍鍒拌揪鍒欎笉闇鐭ラ亾銆傝繖鏍風(fēng)殑璇濇棤鐤戞秷闄や簡琚瀵熻呭拰瑙傚療鑰呬箣闂撮氫俊鐨勭‖緙栫爜
·褰撲竴涓瑙傚療鑰呭悓鏃惰澶氫釜瑙傚療鐫瑙傚療鏃訛紝瑙傚療鑰呭彲浠ュ彧閫夋嫨鑷繁鎰熷叴瓚g殑浜嬩歡錛岃屽拷鐣ュ叾瀹冪殑浜嬩歡
·澶氫釜瑙傚療鑰呯粍鍚堣搗鏉ュ彲浠ュ艦鎴愪竴涓瀵熼摼錛屽鏋滀竴鏃﹂渶瑕佸洖婊氬涓搷浣滐紝姝ゆ椂瑙傚療閾懼彲浠ュ彂鎸ヤ綔鐢?/p>
·瑙傚療鑰呭彲浠ュ疄鏃跺琚瀵熷璞$殑鍙樺寲鍋氬嚭鍝嶅簲錛屼緥濡傝嚜鍔ㄥ憡璀︺佷腑鏂繍琛岀瓑
2.榪愮敤Observer妯″紡鍙互
·灞忚斀綰跨▼闂寸殑閫氫俊鏈哄埗錛氫緥濡備袱涓嚎紼嬩箣闂達(dá)紝涓葷嚎紼嬪彲浠ヤ綔涓鴻瀵熻咃紝鎵ц綰跨▼鏄瑙傚療鑰呫傚郊姝や箣闂村彧鐭ラ亾瀵規(guī)柟瀛樺湪錛屼絾涓嶇煡閬撲箣闂撮氫俊鐨勭粏鑺?/p>
·娑堥櫎紜紪鐮侊細(xì)濡傛灉娌℃湁Observer妯″紡錛屽垯鍙兘閲囩敤鍥炶皟鐨勬ā寮忥紝鎴栬呭湪浠g爜涓樉紺哄湴璋冪敤瑙傚療鑰?/p>
·浼樺寲寮傚父鏈哄埗錛氱壒鍒傚悎鍦ㄥ紓甯稿彂鐢熸椂鍚戦《灞傜洃鎺э紝鍑忓皯try-catch浠g爜閲?br />
浠g爜錛?/p>