##代理人模式
代理人模式:讓某個物件具有一個替身,藉以控制外界對此物件的接觸。
基本上類別圖應該跟裝飾者大同小異,不過目的不同,代理人模式的目的是幫忙物件處理相關判斷及拋出例外之類的事項,是保護存取的動作,譬如說存密碼帳號一定要大於四個字或三個字,判斷其大於四個或三個字的判斷可以由代理人物件去做篩選。
裝飾者偏向於動態的幫物件增加要做的事,或者改變其參數的附加物,比較不屬於保護存取的動作判斷。
動態代理人:在執行期決定要使用哪種代理人,譬如非自己的帳戶只能使get的方法而不能使用其他方法這樣,可以在拿到其User資料決定要使用哪種代理人,自己或者非自己的的代理人。