Webforms MVP:主持人的责任是什么

时间:2010-01-29 16:43:37

标签: c# asp.net webforms mvp

我认为MVP设计模式中的演示者应该精简并且没有像MVC中的控制器那样具有太多逻辑,并且大多数与模型更新有关的逻辑应该存在于应用服务中。

我的观点是,演示者应该只建立一个命令并将其发送给一个可以处理它的服务。

2 个答案:

答案 0 :(得分:1)

这基本上是MVP的观点,是的。我将补充说,MVC通常被认为是Web应用程序的更好替代品,因为它们具有无状态性质。

答案 1 :(得分:1)

我会保持精益。您经常会发现,如果您使用业务逻辑加载演示者,您最终会复制代码。一旦您发现自己这样做,请将其向下移动到业务逻辑中。

我倾向于将业务操作保留在演示者之外的实体上作为经验法则。

e.g。

void view_Credit(object sender, EventArgs e)
{
    this.accountService.Credit(this.view.AccountId, this.view.AmountOfCredit);
}

而不是:

void view_Save(object sender, EventArgs e)
{
    Account a = this.accountService.GetByAccountId(this.view.AccountId);
    a.Balance += this.view.AmountOfCredit;
    a.DateUpdated = DateTime.Now;
    // lots of other business logic before you can save...
    this.accountService.Save(a);
}

我也不是将实体传递给视图的忠实粉丝,但这可能只是个人选择。