为了遵循务实的编程原则,我试图根据“告诉,不要询问”原则来决定如何处理用户密码更改。
我有一个用户对象,其密码每 30 天过期一次。如果密码过期,我需要能够显示密码过期/更改密码 View 。询问对象密码是否过期(它的状态)然后选择显示哪个 View 似乎违反了原则。
处理这种情况的最佳方法是什么?
最佳答案
login
model.validate();
return model.show(self);
passwordExpired()
return View("ChangePassword")
loginSuccess()
return View("default")
class User
show(aController)
if passwordExpired
return aContoller.passwordExpired()
else return aContoller.loginSuccess()
Tell, Don't Ask, 无一异常(exception),它遵守得墨忒耳的法则
关于c# - 告诉,不要问原则和密码过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9878676/