2011-10-25 8 views
0

私は開発者のチームでプロジェクトに取り組んでいます。我々はUIの良いモックアップを作成することができる非常に若手開発者がいるが、それはそれについてだ。ジュニア開発者がUIのスケルトンを作成し、リスナーやその他のロジックを追加するための別の.javaファイルを用意するための簡単なモックアップ.javaファイルを用意したいと思います。それで、私たちのコードをチェックインするときに、転覆に衝突はありません。チームとしてSwingクラスを構築する

モックアップクラスを作成して拡張またはラップしてみましたが、すべてのスイングコンポーネントはプライベートなので、呼び出すことはできません。他に何ができますか?

+1

は設計にどのような違いを生むんこと?私が見ることはできません。 – duffymo

+1

なぜ、 'private'の代わりにSwingコンポーネントを保持するフィールドを' protected'にすることができませんか? – millimoose

+0

ジュニア開発者はなぜブランチで作業できないのですか? – trashgod

答えて

2

私はSpring MVCのは、Webクライアントのために何をするかと一緒に従うだろう:

はSwingクライアント、ラ・春の依存性注入にリスナーを注入します。 UI開発者は、自分が何をしているのかを知らずにリスナーインスタンスを呼び出すだけです。

これは、Swingビュークラスの外にあるクラスのイベントを処理するためのすべてのロジックを保持できるようにします。

リスナー内でモデルを更新し、それをSwingインスタンスで使用できるようにする方法が必要です。

バージョン管理はあなたの救いではありません。インタフェースは他の部分からビューコードを分離するためのインタフェースを作成します。インターフェイスが変更されない限り、独立していてもかまいません。インタフェースによって

、私はJavaのインタフェースを意味:

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

['アクション'](http://download.oracle.com/javase/tutorial/uiswing/misc/action.html)のようなものを意味しますか? – trashgod

+0

大丈夫かもしれませんが、通常はSwing Events(ActionListenerなど)に関連付けられているListenersを注入することを意味します。 – duffymo

+0

OK、私はインターフェイスにコーディングしています。 Juniorは特定の 'ActionListener'が実際に' Action'であることを知る必要はありません。 – trashgod

関連する問題