我有一个向导需要验证用户是否已登录,然后在最后验证他们输入的所有详细信息是否正确.
问题是我不确定在何处放置验证逻辑.目前我有一个BuyMembership类,它对Buy()方法进行了验证.但是,这不会在向导开始时调用,我需要验证用户是否是唯一的并且有资格购买会员资格.
对于此验证,我创建了一个BuyMembershipValidation类,用于验证用户是否符合条件.
现在的问题是我必须将不同的参数对象传递给BuyMembershipValidation和BuyMembership类.这意味着数据被拆分.
有没有更好的方法来做到这一点.我应该只将部分信息加载到BuyMembership类中进行初始验证,然后加载其余的信息吗?
更新:
我需要验证他们何时进入向导(检查他们是否已经登录),如果他们不是,那么他们将注册为新用户,否则我必须检查他们是否有正确的设置来购买会员资格,因为所有用户都可以买会员资格.这就是我需要两套验证的原因.一个是他们是否符合条件,另一个是他们输入的实际数据进行注册.但是我想重新检查他们是否有资格进行最后的交易,以防万一他们以某种方式通过第一个向导步骤,或者如果Web服务(我正在做逻辑)从其他地方稍后调用点.
另一个更新:
我已经为我的决定添加了答案.
TIA,Jonathan.
你实际上在这里谈论三个非常不同的事情,就像Allain所说的那样,你需要按照单一责任的思路来思考这一点,OOP就像.
身份验证:确保用户已知
授权:确保用户可以访问应用程序中的某些逻辑
验证:确保用户输入的数据有效/安全/预期或需要的数据