我一直在做Java和Ruby(以及使用框架)一段時間,我知道MVC是一種分離代碼的方法。事情是,我想我從來沒有真正以它應該的方式使用它。MVC架構模式
第一個問題是:業務邏輯,這是什麼意思?業務邏輯是否意味着該應用程序特有的邏輯?假設你正在建造一個衛星系統。業務邏輯是該衛星系統獨特的代碼,並使其工作?
「域」是什麼意思?就像域邏輯或域中的術語一樣。 「保持你的模型聰明,控制器很薄並且看起來很愚蠢」。這句話清楚地表明,我加載了太多代碼的控制器是寫它的錯誤方式。
作爲一個例子。如果你有一個BankAccount
類。那麼這個類應該提供一些行爲方法,比如驗證等,以及getter/setter?
控制器應該做什麼?只需將視圖中的輸入/事件重定向到模型,並可能更新視圖(webframeworks就是這種情況)。
例如在Java和JPA中,您有用於查找實體的entityManager
,可能對它們做了某些操作等。如果在控制器中使用此entitymanager
,或者應該製作另一個名爲例如控制器使用的「服務」。但是,這個服務器層是否屬於MVC中的Model?你如何在Rails中做到這一點?
我不明白我的模型和控制器的概念。
讀http://stackoverflow.com/questions/8692965/what-is-the-actual-pattern-for-mvc-wrt-webapplications 1]的http – ThinkingMonkey 2012-02-10 15:18:19
可能重複://計算器。 com/questions/2056/what-are-mvp-and-mvc-and-what-is-the-difference 2] http://stackoverflow.com/questions/26685/what-is-mvc-and-what-are - 它的優點3] http://stackoverflow.com/questions/2626803/mvc-model-view-controller-can-it-be-explained-in-simple-terms和更多 – ThinkingMonkey 2012-02-10 15:21:09