2011-10-25 24 views
0

我正在與一個開發團隊一起開發一個項目。我們有一位非常初級的開發人員,他們可以創建UI的良好模型,但這就是關於它的。我想爲初級開發者保留一個簡單的模型.java文件來創建UI的骨架,並有另一個.java文件來添加監聽器和其他邏輯。然後,當我們簽入我們的代碼時,在顛覆中不會有任何衝突。作爲一個團隊建設一個Swing課

我試着創建一個模型類並擴展或包裝它,但所有的swing組件都是私有的,我不能調用它們。我還能做什麼?

+1

確實使設計有什麼區別?沒有我能看到的。 – duffymo

+1

爲什麼你不能讓那些把Swing組件保持爲'protected'而不是'private'的字段? – millimoose

+0

爲什麼初級開發人員不能在分支上工作? – trashgod

回答

2

我會沿着什麼Spring MVC的確實爲Web客戶端跟蹤:

注入聽衆到Swing客戶端,一拉春天依賴注入。讓UI開發人員只是在不知道自己在做什麼的情況下調用監聽器實例。

它會讓你保留處理Swing視圖類之外的類中所有處理事件的邏輯。

您需要有一種方法來更新偵聽器中的模型並使其可用於Swing實例。

版本控制不是你的救贖;接口是。創建接口以將視圖代碼與其他視圖代碼隔離開來。只要接口不改變,您就可以獨立運行。

通過界面,我的意思是Java接口:

public interface Foo { 
    void doSomething(ModelObject m); 
} 
+0

你的意思是像['Action'](http://download.oracle.com/javase/tutorial/uiswing/misc/action.html)? – trashgod

+0

可能沒問題,但我的意思是注入通常與Swing Events - ActionListener等相關的監聽器。這些是 - 等待它 - 接口。 – duffymo

+0

好吧,我正在編寫接口。 Junior不必知道一個特定的'ActionListener'實際上是一個'Action'。 – trashgod