9

デスクトップ上の MVC に関する本のおすすめを探しています。彼らが Java を使用している場合、それはボーナスです。

背景: Java でデスクトップ アプリケーションを作成しています。これは、多数のビューと、プレイリスト、エフェクト リスト、およびそれらを整理するためのフォルダー構造を備えたライブラリと呼ばれる中央モデルを備えたオーディオ アプリケーションです。このアプリケーションでは、さまざまなユーザー アクションのメニュー、コンテキスト メニュー、およびドラッグ アンド ドロップのサポートが必要です。MVCを使用してこれを達成する方法に苦労しています。

メインクラスのすべてのロジック/コントローラーから始めましたが、それらを独自のクラスに分離し始めました。ここで、ビューとコントローラー間のメッセージを処理するために、リスナーとオブザーバーの使用を開始する必要があります。これにより、多数のインターフェースを作成し、いくつかの場所でリスナーをループして、さまざまなメッセージを発信しました。しかし、そのループ コードは (DRY ではなく) 繰り返されるため、さまざまな種類の Event クラスを作成し、ビューでそれらのイベントを作成し、ビュー内で 1 つのメソッドを使用して、さまざまなリスナーに対してそれを起動する必要があると想定しています。 .

更新:間違いなく大した問題ではありませんが、私は Swing ではなく SWT を使用しています。

4

6 に答える 6

9

私は同じ問題を抱えていました.(自明ではない)swingアプリを書くには本当に多くの規律が必要です.なぜなら,すべてのリスナーとイベントと非同期処理が,保守不可能なコードの山を非常に高速に補うからです.

従来の MVC では不十分であることがわかりました。プレゼンテーション モデルなどのより具体的なパターンを調べる必要があります。このパターンをデスクトップ アプリケーションに適用した場合のパターンを説明している唯一の本は、Scott Delap 著のDesktop Java Liveです。Swing 本の大部分は、特定の問題 (グリッドレス jtable の作成方法、丸いボタンの実装方法など) を解決するためのテクニックを扱っていますが、Delap の本は、中規模の Swing アプリケーションやベスト プラクティスなどを設計するのに役立ちます。 .

于 2008-10-05T23:16:00.240 に答える
2

ほとんどすべての Java、Eclipse、Netbeans スイングの本はうまくいくはずです。

1) 無料 --- Thinking in Java ( http://mindview.net/Books/TIJ/DownloadSites )
2) CORE Java 、第 1 巻および第 2 巻
3) Swing ハック : http://www.amazon.com/Swing- Hacks-Tips-Tools-Killer/dp/0596009070
4) netbeans RCP : http://www.amazon.com/Rich-Client-Programming-Plugging-NetBeans/dp/B00132S6UU/ref=dp_kinw_strp_1 5) eclipse リッチ クライアント プログラミング - - http://www.amazon.com/Eclipse-Rich-Client-Platform-Applications/dp/0321334612

お役に立てれば。

BR、
~A

于 2008-10-03T21:02:00.073 に答える
2

Java ではなく C# ですが、Jeremy Miller はデスクトップ アプリと MVP/MVC (およびその他の関連するもの) に関する多数の投稿を行っています。

于 2008-10-03T21:24:48.517 に答える
1

私の 2 セントを投じるために、Head First Design Patternsという本をお勧めします。MVC パターン (Java) の非常に良い説明があります。これは、MVC で使用される Observer、Strategy、Composite など、この本で説明されている他の設計パターンに基づいています。

私が読んだ中で最高のMVCチュートリアル。強くお勧めします。

于 2008-10-07T07:55:31.453 に答える
0

上記のエントリに追加する必要があるのは、無料の BOOK -- THINKING IN JAVA が OOP、MVC、および Swing について語っていることです。ただし、MVC のさまざまな実装について説明しているかどうかはわかりません。

于 2008-10-03T22:16:58.533 に答える
0

Swing チュートリアルを忘れないでください。たとえば、Swing Events チュートリアル.

また、SwingWorker、または別のワーカー スレッドでイベントを処理することに注意してください。私は決して Swing の専門家ではありませんが、Java デスクトップ アプリケーションの速度低下の原因の多くは、イベント スレッドで行われた作業によるものであることは知っています。このような作業に時間がかかる場合、GUI 全体が応答しなくなります。後で修正するのは難しいですが、覚えておけば、正しく行うのはそれほど難しいことではありません。

書籍については、Cay Horstmann と Gary Cornell による Core Java シリーズがとても読みやすかったです。ただし、これは Java (Swing を含む) に関するものであり、MVC に関するものではありません。

于 2008-10-03T21:21:14.730 に答える