2012-10-16 16 views
2

我想在事務中保存兩個模型,但它將用於多個視圖。MVC模式在事務中保存多個模型的常規做法

我應該將這個交易放入其中一個模型中嗎?或者我應該以某種方式重新使用控制器操作?

這種情況下MVC模式的最佳做法是什麼?我的觀點是由多個模型組成。

+0

我總是把我的交易保存在控制器中。有時你必須一起使用多種東西。 – wesside

+0

但是,這正是問題所在,因爲我將不得不將相同事務的代碼複製到不是DRY的多個控制器,並且我有一種感覺,這樣做有另一種(更好的)方法。 – user1750290

+0

如果在2個地方使用相同的功能,您可以並且應該使用單個控制器/操作 –

回答

1

這取決於如果您的業務邏輯告訴您每次保存模型A時都應更新/創建模型B.然後把這個事務放到你的模型中,這樣無論你在哪裏調用它(控制器,CLI),它都會對你的邏輯保持真實。

如果另一方面,這個事務只對當前的用戶請求很重要,然後把它放到你的控制器中。

此時視圖無關緊要,您可以在視圖中擁有任意數量的模型。它與您的業務邏輯無關。