ClassB b = new ClassB();
(5) b.MethodOne();
(6) for(int i=0;i<3;i++){
(7) b.MethodTwo();
(8) }
}
榪欐牱鐨勪唬鐮侊紝緇欎綘鐨勬劅瑙夋庝箞鏍鳳紝涔熻榪樿洰榪囧緱鍘伙紝浠栫‘瀹炴槸璺戝緱璧鋒潵銆備絾榪欐牱鐨勪唬鐮佸瓨鍦ㄦ綔鍦ㄧ殑鍗遍櫓鎬с傚簲璇ヨ褰掑叆緋熺硶璁捐鐨勮寖鐣撮噷銆傞鍏堬紝瀹㈡埛闈㈠涓嶅叿紼沖畾鎬х殑鍥犵礌錛屾牴鎹瓺IP鍘熷垯錛屽畠娌℃湁鎻愬彇鎶借薄錛岃繚鍙嶄簡DIP鍘熷垯銆傚叾嬈★紝client錛坢ain錛夊繀欏昏礋璐g瓥鐣ョ殑緇勭粐(鎴戞妸綾諱技(1)(2)(3)(4)鐨勭洰鏍囧璞$殑榪欐牱涓緇勮皟鐢ㄨ繃紼嬬О涓虹瓥鐣ョ粍緇?,涔熷氨鏄錛宑lient闈㈠鐨勪笉鏄竴涓畬鍏ㄧ殑榛戠洅瀛愶紝浠栭潰瀵圭殑鏄竴浜涘崐榛戠殑鐩掑瓙錛屽悓鏃訛紝浠栧繀欏葷煡閬撴庝箞鎶婅繖浜涘崐榛戠殑鐩掑瓙緇勮璧鋒潵銆備緥濡?5)(6)(7)(8)榪欎簺瀵瑰鎴鋒潵璇達紝鏄竴緇勫崐榛戠殑鐩掑瓙銆傚鎴鋒湰韜殑浠誨姟澶噸浜嗭紝鍚屾椂錛岃繖鏍風殑浠誨姟寮ユ極鍦ㄥ鎴風殑澶村拰鑴氫箣闂達紝鍙婂叾闆朵貢銆傚緢蹇紝鍙堟湁綾諱技鐨勫彟涓縐嶄笉鍏風ǔ瀹氭х殑鍥犵礌鍙備笌榪欐牱鐨勫譏婕椿鍔紝鏈緇堢殑瀹㈡埛灝嗚娣規病鍦ㄤ笉紼沖畾鎬у洜绱犵粍鎴愮殑澶ф搗閲屻傚鏋滐紝鍒氬ソ鏄綘鍦ㄨ礋璐h繖鏍風殑瀹㈡埛緙栫爜錛屾垜錛屽緢鍚屾儏浣犮傞噸鏋勫惂錛岃佸厔銆?
涓嶆弧鎰忥紝濂斤紝鎴戜滑鍋氱涓嬈′慨鏀癸紝鏍規嵁DIP鍘熷垯錛屾垜浠彁鍙栬繖涓変釜綾葷殑鎶借薄銆傛瘮濡侷Class, 鐒跺悗錛屽ぇ瀹墮兘瀹炵幇浠栥傜劧鍚庯紝鎶奀lassA a = new ClassA(); 鏀逛負IClass a = new ClassA();OK錛屽緢濂界殑閬靛驚浜咲IP鍘熷垯銆傜劧鍚庯紝鎴戜滑闇瑕佹湁涓涓弬涓庤咃紝鎴戠О璇ョ被涓篊ontext鎴?Manager,mediator)錛屽畠鐨勮亴璐e緢綆鍗曪紝浠呬粎璐熻矗鍗婇粦鐩掑瓙鐨勭粍瑁呫傛垜浠病鏈夌粰浜堜粬榪囧鐨勮亴璐c係RP鐨勮繚鍙嶅悓鏍瘋浜鴻寰楀彲鎬曘傚茍鎶奍Class浣滀負涓涓鎵樺璞″睘鎬т紶閫掔粰瀹冦傜粨鏋勫浘濡備笅錛?nbsp;