主持人应该对此负责什么?

时间:2010-04-05 03:38:30

标签: asp.net-mvc design-patterns 3-tier

我有3层设计。 (UI / BLL / DAL)

UI = ASP.NET MVC

在我看来,我收集了一个类别的产品。 示例:产品1,产品2等..

用户可以从视图中选择或删除(通过选中复选框)产品,最后在用户提交这些更改时保存为集合。

通过这3层设计,如何保存此产品系列?如何过滤产品(删除和添加)到类别对象?

以下是我的选择。

(A) 这是控制器的责任,那么伪代码将是

  1. 查找用户选择或删除的产品,并与现有记录进行比较。
  2. 将该集合添加或删除到类别对象。
  3. 调用SaveCategory(类别); // BLL CALL
  4. 此处前两个处理步骤发生在控制器中。

    (B) 这是BLL的责任,那么伪代码将是

    1. 收集用户选择的产品
    2. SaveCategory(类别,产品); // BLL CALL
    3. 这里由SaveCategory(BLL)来决定应该删除哪些产品并将其添加到数据库中。

      由于

1 个答案:

答案 0 :(得分:1)

逻辑应该存在于业务层而不是控制器中。您的控制器应尽可能薄,并且只需在视图与处理模型和业务需求的其他层之间进行协调。