2011-08-28 43 views
2

還想知道做模型 - 視圖 - 控制器軟件體系結構的最佳方法,是否將控制器傳遞到視圖中,還是使用觀察者設計模式並讓控制器觀察視圖所做的更改/請求,以便我們可以更新模型並重新顯示.......帶有內部框架的Java MVC和複合設計模式

我有一個主JFrame將有JInternalframes,我想應用MVC體系結構。只使用普通的Java應用程序

這種卡住在這個任何限制的建議ect將有很大的幫助。

很抱歉的混亂,不存在只是用框架和內部框架

+0

我想使用的觀察者會脫鉤類一因此更多的可擴展性和更低的可靠性 –

+1

您絕對應該將模型/視圖分開,但分離視圖/控制器可能會非常棘手。你可以閱讀[here](http://java.sun.com/products/jfc/tsc/articles/architecture/#roots),即使Swing本身並不是真正的MVC。 – toto2

+0

Thanx因爲這將有一個閱讀,看起來不錯:) –

回答

1

去年我寫了一個帶有MVC模式的程序,但是我似乎無法找到代碼atm,我記得我使用它的觀察者模式,以便控制器聽取視圖(所以控制器實現了觀測,視圖實現可觀察)

(注:我還是個學生,所以有可能在我的意見的一些錯誤..只是想雖然幫助)

+0

Algood,這是非常多的,我有它,我的理解是什麼哈哈。 Thanx爲你的輸入:)我的學位也有人建議使用Observer Pattern + MVC作爲你的代碼分離你的代碼有點讓對方更少依賴於對方,並且更靈活 –

1

你的主機包含所有幀的網絡方面,因此他們給它訪問。 內部框架應該在構造函數中獲取其「父」框架作爲參數,並將其存儲爲上下文變量。

這樣你就可以同時使用:如果你決定通過控制器(MainFrame),視圖(InternalFrames)可以在其事件上註冊,或者你可以通過你的控制器更新視圖。

關於你的問題,你應該使用觀察者設計模式。 這在邏輯上是正確的,以便讓Controller在模型更改時控制流並更新視圖。