2012-03-16 7 views
6

Swingアプリケーションでは、2つのビュー間でデータを送信(対話)する最も良い方法は何ですか?スイング - ビュー間のインタラクトに最適な方法は?

Study Guide to the SCJP 6にカップリング・セッションを見ると、それは言う:

すべての非自明なオブジェクト指向のアプリケーションでは、一緒に働いて多くのクラスと インタフェースが混在しています。理想的には、OOシステム内のオブジェクト 間のすべての相互作用は、オブジェクトのそれぞれのクラス のAPI、つまり契約を使用する必要があります。

私が正しいと理解していれば、より良い方法は、各ビューへのインタフェース(契約)を作成し、必要に応じてこのインタフェースメソッドを使用してデータを取得することです。これは良い方法ですか?ビューで公開されていることを言うためのインターフェイスをたくさん作成するのは楽しいですか?

私が考える別の方法は、ビューのデータ(モデル)を保持するクラスを持つことです。この場合、このモデルクラスに直接アクセスするのは良いアプローチですか?

ありがとうございます。

答えて

6

A Swing Architecture Overviewで概説されているように、separable modelの概念はスイングにあふれています。通常、各モデルはインタフェースで表されます。いくつかの基本的なイベント配管を備えたAbstractXxxModelが含まれています。多くは標準実装のDefaultXxxModelを持っています。

+0

あなたはあらゆる状況のためのあらゆる例を持っているようです:-) –

3

あなたのデザインの選択は完全に異なります。私たちが提案するデザインの選択肢は、Viewのデータ共有には適していますが、ソフトウェアのもう1つの側面が解体されることもあります。したがって、バランスをとるためには、アプリケーションをスムーズに実行するために設計を選択する必要があります。

私は個人的にMVCデザインパターンを好みます。それは毎回私のために働く!

Model View Controller

幸運:上MVCについての詳細を読みます!

注:MVCでは、2つのビューが互いにやりとりするのではなく、コントローラを使用してモデルからデータを取得し、基本的に各ビューにはデータモデルを参照するコントローラがあります。

+0

+1 for MVC;関連する[例](http://stackoverflow.com/a/3072979/230513)です。 – trashgod

+0

@trashgodこの例のおかげで! –

関連する問題