2012-02-16 176 views
0

我最近已經開始仔細觀察Java和一些常見模式。至於MVC,關於沙子線在哪裏被繪製的地方有無數的討論。但!我讀過的大部分都是安靜的,沒有結果的恕我直言,因爲沒有任何實用的器具可以這麼做。因此,我正在研究這個主題,因爲我已經被要求重寫一箇舊的PHP應用程序,並且 - 如果可能的話 - 使它成爲一個「真正的」應用程序。現在,去幹淨的建築不是很好嗎?我想用相同的後端構建Web版本以及SWT版本。MVC Switch V without C?

問題:改變V對我來說很清楚,但據我所見,我必須完全構建一個新的控制器,否則我將不得不在控制器和視圖之間添加適配器,反過來又會是什麼與控制器本身一樣,如果我在模型端應用相同的話。所以,簡而言之:在真實世界的場景中,實際上只改變V值是否可取或甚至可能?

希望,這有一定道理給別人;)

親切的問候,

馬庫斯

回答

0

爲什麼你會希望你能有采取各種不同的輸入,共享相同的兩個應用程序處理輸入的組件?充其量,你可以擁有「瘦」的控制器,將大部分邏輯推向模型。 Web和MVC的桌面應用程序實現之間的差異非常顯着,特別是在視圖和控制器之間的耦合方面。我真的不知道如何在Web /桌面應用程序之間換出視圖。

另一方面,很可能在相同的基本平臺內的不同類型的視圖之間進行切換。例如,您可以輕鬆地爲同一應用程序提供標準和移動Web視圖。僅改變視圖是可能的,並且可能優於其他使應用程序的標準和移動版本可用的方法。

+0

對,這對我有意義。所以,最好的情況是,我可以選擇一些過度使用的控制器,這樣可以滿足所有可能的需求(但聽起來很糟糕),或者可能不是那麼簡單的控制器,以使邏輯脫離模型併爲特定於平臺的操作添加適配器。無論如何,這是一個很好的小拼圖。日Thnx – 2012-02-16 14:39:56