寮闂師鍒?/span>銆?span style="color: #049a0e;">鍗籌細(xì)瀵規(guī)墿灞曞紑鏀撅紝瀵逛慨鏀瑰叧闂?/span>鍏蜂綋鎬庝箞鍋氬憿錛熼氳繃鎶借薄綾伙紝浠庢娊璞$被緇ф壙鍏蜂綋綾匯?br>鐪嬫渶緇堢殑浠g爜(鍙啓鍑犱釜鍏抽敭鐨勬柟娉曪紝鍏ㄨ矊鍙湅鏈鍚庣殑UML鍥?錛?br>
璁㈤槄錛?
public interface AccountObserver
{
public void upDate(UserAccount userAccount);
}
public class Email implements AccountObserver
{
public void upDate(UserAccount userAccount)
{
}
}
public class Mobile implements AccountObserver
{
public void upDate(UserAccount userAccount)
{
}
}
鍙戝竷錛?br>
public abstract class Subject
{
List <AccountObserver> observer = new ArrayList<AccountObserver>;
protected void withDraw()
{
//
notify();
}
protected void notify(UserAccount userAccount)
{
for (AccountObserver ao : observer)
{
ao.upDate(userAccount)
}
}
protected void addOberver(AccountObserver accountObserver)
{
observer.add(accountObserver);
}
protected void deleteOberver(AccountObserver accountObserver)
{
observer.remove(accountObserver);
}
}
public class BankAccount extends Subject
{
public void withDraw()
{
//
for (AccountObserver ao : observer)
{
ao.upDate(userAccount)
}
}
}
鐪婾ML鍥撅細(xì)

5.瑙傚療鑰呮ā寮忔鍐?/span>
榪欏氨鏄瀵熻呮ā寮忎簡(jiǎn)錛屽姣斾竴涓嬪畼鏂圭殑UML鍥撅紝鏄笉鏄竴鐩簡(jiǎn)鐒朵簡(jiǎn)鍛紵
紼嶄綔璇存槑(榪欓噷鐨勪緷璧?
閮芥槸鎸囧箍涔夌殑渚濊禆)錛?br>1.琚瀵熻匔oncreteSubject緇ф壙鑷猄ubject鎶借薄綾伙紱
2.Subject鎶借薄綾諱緷璧栦簬瑙傚療鑰匫bserver鎶借薄鎺ュ彛錛?br>3.瑙傚療鑰匔oncreteObserver瀹炵幇Observer
鎺ュ彛錛?br>4.瑙傚療鑰匔oncreteObserver闂存帴渚濊禆浜嶤oncreteSubject綾匯?br>濡傛灉瑕佸鍔犲叿浣撶殑瑙傚療鑰咃紝鍙鍐嶅疄鐜癘bsever鎺ュ彛鍗沖彲錛岃岃瑙傚療鏂逛笉闇瑕佸仛浠諱綍淇敼銆傝屽鏋滈渶瑕佷慨鏀硅瑙傚療鑰咃紝鍙浠嶴ubject鎶?
璞$被緇ф壙鍗沖彲銆?br> 
]]>