当前位置:  开发笔记 > 程序员 > 正文

OOP设计:可重复使用的验证应该在哪里?

如何解决《OOP设计:可重复使用的验证应该在哪里?》经验,为你挑选了1个好方法。

我有一个向导需要验证用户是否已登录,然后在最后验证他们输入的所有详细信息是否正确.

问题是我不确定在何处放置验证逻辑.目前我有一个BuyMembership类,它对Buy()方法进行了验证.但是,这不会在向导开始时调用,我需要验证用户是否是唯一的并且有资格购买会员资格.

对于此验证,我创建了一个BuyMembershipValidation类,用于验证用户是否符合条件.

现在的问题是我必须将不同的参数对象传递给BuyMembershipValidation和BuyMembership类.这意味着数据被拆分.

有没有更好的方法来做到这一点.我应该只将部分信息加载到BuyMembership类中进行初始验证,然后加载其余的信息吗?

更新:

我需要验证他们何时进入向导(检查他们是否已经登录),如果他们不是,那么他们将注册为新用户,否则我必须检查他们是否有正确的设置来购买会员资格,因为所有用户都可以买会员资格.这就是我需要两套验证的原因.一个是他们是否符合条件,另一个是他们输入的实际数据进行注册.但是我想重新检查他们是否有资格进行最后的交易,以防万一他们以某种方式通过第一个向导步骤,或者如果Web服务(我正在做逻辑)从其他地方稍后调用点.

另一个更新:

我已经为我的决定添加了答案.


TIA,Jonathan.



1> sliderhouser..:

你实际上在这里谈论三个非常不同的事情,就像Allain所说的那样,你需要按照单一责任的思路来思考这一点,OOP就像.

身份验证:确保用户已知

授权:确保用户可以访问应用程序中的某些逻辑

验证:确保用户输入的数据有效/安全/预期或需要的数据

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有