【问题标题】:Where to place logic in MVP (Passive Controller) design pattern在 MVP(被动控制器)设计模式中放置逻辑的位置
【发布时间】:2014-01-22 14:28:32
【问题描述】:

我目前正在学习 MVP 设计模式,并且有一个关于简单逻辑应该放在哪里的问题。

我的印象是所有业务逻辑都应该进入模型,这是否包括简单的方法,例如:

public int Add(int a, int b){
    return a + b;
}

还是只是处理模型中数据库的逻辑?关于 Presenter 逻辑和 Model 逻辑的界线,我有点困惑。

编辑:

如果我想添加的方法是这样的:

public double GetConvertedCurrency(double ammountInDollars, double exchangeRate){
    return ammountInDollars * exchangeRate;
}

ammountInDollars 是用户输入的,exchangeRate 是固定的(仅用于示例)这是否也在模型中?

我只想在屏幕上显示返回值,而不是将其存储在数据库中。

【问题讨论】:

  • 不好的例子 a 和 b 可以是任何东西。由于该方法与任何东西都没有连接,因此它只是一个任意的辅助方法,如果您管理任意的辅助方法,则应该使用它。

标签: c# asp.net design-patterns mvp


【解决方案1】:

如果您所说的“业务逻辑”是指适用于您的数据域的所有规则,而不管您的应用程序行为如何,那么是的,您应该将其放入模型中。

【讨论】:

  • 由于 ammountInDollars 来自用户(不是您的数据域的一部分),因此您不希望将其放入模型中。
猜你喜欢
  • 1970-01-01
  • 2021-09-28
  • 2019-05-22
  • 2013-01-20
  • 2023-04-05
  • 1970-01-01
  • 2012-09-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多