2011-04-12 62 views
1

其中一個業務規則是記錄哪些人員執行哪些操作,並且當前代碼將整個會話門面傳遞到Service(模型層)。會話外觀,它屬於模型圖層還是控制器圖層?

它聽起來/聞到正確嗎?控制器不應該處理會話Facade並提取數據並將它們傳遞給Service?

是不是會話外觀的主要原因是...容易測試控制器層?將整個會話外觀傳遞給模型是否有意義?

THX

回答

3

如果通過Session Facade表示業務流程,那麼是的,控制器應該與這個層進行交互。將Facade傳遞到商業模型通常是沒有意義的,如果它們是應用程序中真正獨立的圖層。

應用程序邏輯(由您的會話Facade控制)和業務邏輯(實際域模型的一部分)之間存在分離。我腦海中的這些是兩個單獨的層。

希望這會有所幫助。

+0

只有控制器應該與會話交互(如果適用,通過外觀)。 – 2011-04-13 12:18:20

1

通常,我的控制器電平,因爲它們需要將值傳遞到每個服務方法。該服務不關心它們來自哪裏(會話,用戶提交等),它只是接受它們,完成它的工作並返回結果。控制器處理從適當位置(數據庫,會話,用戶提交等)獲取的各種值,然後將它們傳遞給服務層。