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