gpt4 book ai didi

model-view-controller - MVC设计模式模型逻辑

转载 作者:行者123 更新时间:2023-12-04 17:11:16 25 4
gpt4 key购买 nike

根据MVC设计模式,如果我们创建一个用户(数据库工作)并且我们必须向用户发送带有激活码的邮件,在模型创建数据库记录之后,这是否适合模型或 Controller ?

最佳答案

MVC 模式用于在业务逻辑(模型)和 GUI( View )之间创建抽象。 Controller 只是这两个块之间的适配器(谷歌适配器模式)。

因此 Controller 应该只有用于从 Controller 获取所需信息并采用它以适应 View 的代码。任何其他逻辑都应该在模型中。

只有当您了解模型不是单个类而是您的所有业务逻辑时,这才有意义。

示例(具体实现,但希望你理解):

public class UserController : Controller
{
// notice that it's a view model and not a model
public ActionResult Register(RegisterViewModel model)
{
UserService service;
User user = service.Register(model.UserName);
return View("Created");
}
}

// this class is located in the "model"
public class UserService
{
public User Register(string userName)
{
// another class in the "model"
var repository = new UserRepository();
var user = repository.Create(userName);

// just another "model" class
var emailService = new EmailService();
emailService.SendActivationEmail(user.Email);

return user;
}
}

关于model-view-controller - MVC设计模式模型逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12142453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com