我不知道之前是否曾问过这个问题,我试图找到这个
实现返回帐户对象的帐户登录功能的最佳做法是什么 如果登录不成功,它将返回失败的原因(帐户被阻止,帐户需要验证,帐户不存在,....)
目前我使用C#i实现类似的东西,只是想确定是否有更好的方法
AccountBo resultAcc = null;
//this is the result account if sucessful login
LoginStatus ls = checkUserLogin(useerName, password, ref resultAcc);
//the return value is an enum with different possible statuses
提前致谢!
答案 0 :(得分:2)
使用术语“最佳实践”我会非常谨慎,不是因为我的建议,而是因为它完全被过度使用,但为什么不抛出异常(要么携带LoginStatus
类型的状态代码成员,或者在登录失败的情况下根据特定错误甚至两者的组合使用专用异常?
然后“有空间”使用AccountBo
对象实例作为返回类型。
过早的“反例外”评论: 如今,例外情况往往过早受到谴责(出于可疑的业绩原因)。但是,我认为任何真实的用户/登录检查都会占用CPU /周期的份额,因此解决异常并不值得。