2010-04-05 29 views
0

我有一個3層設計。 (UI/BLL/DAL)這裏主講人的責任是什麼?

UI = ASP.NET MVC

在我看來,我的產品集合類別。 示例:產品1,產品2等。

用戶能夠從視圖中選擇或刪除(通過選擇複選框)產品,最後在用戶提交這些更改時保存爲集合。

有了這3層設計這個產品集合將如何保存?如何過濾產品(移除和添加)到類別對象?

這是我的選擇。

(A) 它是控制器的責任,則僞代碼將是

  1. 查找用戶選擇或刪除產品,並與現有的記錄進行比較。
  2. 將該集合添加或刪除到類別對象。
  3. 調用SaveCategory(category); // BLL CALL

這裏前2個過程步驟發生在控制器中。

(B) 這是BLL的責任,那麼僞代碼將是什麼都用戶選擇

  • SaveCategory(類別,產品)

    1. 收集產品; // BLL CALL

    這取決於SaveCategory(BLL)決定應該刪除哪些產品並將其添加到數據庫中。

    謝謝

  • 回答

    1

    邏輯應該存在於業務層而不是控制器。你的控制器應該儘可能的薄,並且只需要在視圖和處理你的模型和業務需求的其他層之間協調溝通。

    +0

    所以這意味着我需要使用DTO將用戶集合傳輸到BLL。對?我試圖避免DTO,並直接從控制器使用實體。基本上用戶可以添加或刪除演示者的任何東西,但在BLL中它將被驗證。 – Aval 2010-04-05 04:20:16