1
我想執行一個函數,但在此之前,我想驗證密碼。代理設計模式封裝解決方案?
我選擇使用代理設計模式。
文字
:
創建代理類,
發送密碼,
,並告訴他什麼函數來執行如果密碼正確。
問題是根據代理模式,整個內部應該/最好是私有的。
所以 - 我不能從方法1/2外看到...
,我不想做Method1/2
public
(我不想當的)。我想使用代表。
那麼,我怎麼能(從外面)給他一個有效的Action
param? (ac
param)
我是否應該爲每個函數創建一個公共行爲?
所以方法1/2()應該是代理的調用者可見? – 2012-02-19 11:55:23
@RoyiNamir,好吧,如果你像代理那樣在代理中定義它們,那麼是的,它們應該是可見的,以便調用者可以決定調用哪一個。如果這些方法不是你的代理類的一部分,那麼調用者可以從別的地方傳遞它們。但是,當然,由於調用者需要將Action作爲第二個參數傳遞給構造函數,因此調用者應該知道此Action。 – 2012-02-19 11:56:56
對我來說似乎很奇怪,它的一個設計模式是它的用法是訪問控制 - 強制我把這些方法公諸於衆/對所有人都是可見的..... – 2012-02-19 11:58:31