2010-09-12 75 views
2

我目前正在嘗試在Scala中編程,但我想這通常也適用於其他編程?更好的GUI類組織?

在Swing中,我們通常將我們的代碼和邏輯組織在一個類(也許是我們的框架或面板)中。我在通關中學到的東西也一直在處理一門課。我想知道是否有任何中等規模(不太大和複雜)的項目可以查看?

我們如何實際組織我們的代碼,如從登錄到查看錶,更新表,以便執行其他任務?我們通常是否創建了很多框架,這似乎是我從Visual Basic學到的東西?或者只是很多面板,並有一個框架來容納這些框架?如果是第二種情況,我怎樣才能真正將信息從一個面板傳遞到另一個面板,因爲除了通過幀之外,它們實際上並不直接相關。

該組織的任何指南?

回答

2

使用模型視圖控制器(MVC)體系結構進行調查。這樣你就有一個存儲你當前狀態的模型,一個顯示你想要怎麼樣的視圖,以及一個在兩者之間進行通信的控制器(業務邏輯)。這使您可以修改模型或視圖,而無需對代碼中的其他位置進行太多更改。這也意味着您可以在另一個模型上重用您的視圖(GUI)。

使用上述內容,您可以擁有一個控制器,可以查看多個面板並更新它們,以及處理這些面板上的操作並反映對模型的更改。

+1

另請參見http://stackoverflow.com/questions/3072979 – trashgod 2010-09-12 14:52:16

+0

@trashgod,在您給出的鏈接中,它就像我們需要爲模型,視圖和控制器創建3個額外的類。對不起,還有其他例子嗎? :) – JohanSJA 2010-09-15 03:11:32

+0

@JohanSJA:鏈接提到了一個更復雜的例子。你在尋找更簡單的東西嗎? – trashgod 2010-09-15 03:33:06

1

如果我從你的意見中正確理解,你是在尋找一個簡單的例子。從這個outline開始,這個簡單的example遊戲的edit history展示了使用Model–View–Controller模式開發GUI程序的發展。儘管似乎起初更復雜,但模式的價值在於將模型與視圖分離。這允許他們更獨立地進行修改。