7

ユーザー登録用の RegisterModel と、IUserService を実装する UserService があるとします。

public interface IUserService
{
   User CreateUser(User newUser);
}


[HttpPost]
public ActionResult Register(RegisterModel model)
{
            if (ModelState.IsValid)
            {

                // ... logic for newuser

                User user = _userService.CreateUser(newuser);

               _authenticationService.SetAuthenticatedUser(user);

                return RedirectToRoute("Homepage");
            }

            return View(model);
        }

RegisterModel が非常に複雑な場合、RegisterModel を User オブジェクトにマッピングするためのロジックはどこにあるのでしょうか。

4

1 に答える 1

16

ビュー モデルをサービスに渡すことはありません。サービスは、GUI (ASP.NET MVC) 層で定義した可能性のあるビュー モデルの存在についても知りません。サービスはドメイン モデルで動作します。個人的には、AutoMapperを使用してビュー モデルとモデルの間、またはその逆のマッピングを行うため、このロジックはマッピング レイヤーに入ります。

于 2011-02-19T20:18:13.467 に答える