【问题标题】:What are the guidelines between rendering logic and business logic in MVP?MVP 中渲染逻辑和业务逻辑之间的指导原则是什么?
【发布时间】:2012-01-05 20:40:20
【问题描述】:

我正在开发一个 GWT 应用程序,并被告知 for 循环构成“业务逻辑”,不应该出现在 MVP 视图的实现类中。所以作为一种习惯,我从不在 viewImplementation 类中使用 for 循环,而是将循环放在 Presenter(Activity)中,并在 viewImplementation 类中调用一个方法来完成循环的每个单次迭代任务。

我了解 Presenter 不包含小部件并且具有业务逻辑。相反,viewImplementation 类是您拥有小部件并保留渲染逻辑的地方,但是对于将 for 循环分类为业务逻辑的准则是否过于严格?

对于使用 GWT 的 MVP 的渲染逻辑和业务逻辑,是否有一些指南?

【问题讨论】:

    标签: gwt for-loop mvp


    【解决方案1】:

    我不同意“for 循环构成业务逻辑”的说法。它是一种语法结构,而不是业务逻辑。如果他正在发表该声明,那么(IMO)您也应该避免“If statements”。这有多实用和/或可行!?

    业务逻辑是您放置在循环构造中的内容,而不是构造本身。这完全取决于您在循环中放置的逻辑,这将是这里的决定因素。

    编辑

    我能想到的一个示例演示了如何在视图中找到 for 循环,而根据“for 循环”规则,它应该只放在模型中。

    假设您想制作一个带有字母 A-Z 的工具栏,用户可以单击该工具栏来过滤搜索结果。

    视图负责向用户显示事物的方式。出于这个原因,我认为使用以下 for 循环在 View 中生成工具栏是最合适的方法。

    伪代码

    Let TB <- Toolbar control
    for letter = 65 - 90 (A - Z)
    begin
          let item <- Toolbar Item
          set item's text to letter
          add item to TB
    end
    

    这似乎揭穿了 for 循环总是构成业务逻辑,因此必须放在模型中的说法。

    【讨论】:

      猜你喜欢
      • 2011-09-07
      • 2020-09-07
      • 1970-01-01
      • 2011-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-24
      • 1970-01-01
      相关资源
      最近更新 更多