我對MVC比較陌生,剛剛遇到一些預先存在的代碼。MVC:重置密碼屬於服務層或實際實體
我們有一個UserService,主要包含CRUD操作,也許還有一兩個業務邏輯操作 - 我們的控制器都需要這些操作。它封裝了上下文和成員資格。
我正要執行ResetPassword操作,但我不確定在哪裏執行它;是否在UserService或用戶實體上實現它。
UserService
bool ResetPassword(string username, string newPassword);
這將導致我的控制器被:
ActionResult ResetPassword(string username, string newPassword)
{
userService.ResetPassword(username, newPassword);
}
VS
用戶
bool ResetPassword(string newPassword)
這將導致我的控制器被:
ActionResult ResetPassword(string username, string newPassword)
{
var user = userService.GetUser(username);
user.ResetPassword(newPassword);
}
哪種方法建議?