49

リッチユーザーインターフェイスのWindowsアプリケーション(フォトショップなど)を作成する方法。

どこかにC#を使用したWinForms用のクリーンなMVCチュートリアルを探しています。(ASP.NET MVCではありません。)

Windowsプラットフォームの新機能。ほとんどのMSDNおよびインターネットチュートリアルは、基本的にすべてをFormクラスに入れます。さらにデフォルトのイベントは、イベントをコントロール/モデルに送信する代わりに、フォーム内で処理されます。コントロール/モデルは、ビューの状態を変更します。

それとも、Windowsアプリケーションに推奨される方法論は他のものですか?

4

3 に答える 3

10

Derick Bailey (Los Techies 経由) は、他のいくつかの優れたパターン (アプリケーション コントローラー、イベント アグリゲーター) を組み合わせた WinForms アプリでの MVP の実装について、いくつかの素晴らしい記事(および完全なデモ ソース コード) をブログに書いています。

この作品は、 Jeremy D Miller の「Build Your Own CAB」というタイトルの一連の記事に触発されています。

于 2010-05-10T13:24:22.010 に答える
2

Model-View-ViewModel を見る価値があるかもしれません (特に WPF に興味がある/喜んで使用する場合)。

特に WPF と Silverlight で動作するように微調整されており、すべてを結合するためにデータバインディングを利用しています。

John Gossman の紹介や、 MVVM に関連する他のリソースをブログに掲載している Josh Smith による優れた記事など、詳細を確認するためのリソースが Web 上に多数あります。

于 2009-06-05T14:07:45.577 に答える
-1

Windows アプリケーションの場合、Windows OS が誤ってコントローラーの一部になってしまいます。

モデルは、さまざまなイベント/メッセージ (マウスのクリック、移動、ウィンドウのサイズ変更、ボタンのクリックなど) をサブスクライブできます。変更更新処理が完了すると、再描画操作によってビューが更新されます。

Windows OS は、モデル (マウス クリックなど) またはビュー (ウィンドウの一部がダーティで再描画が必要であることを伝える) の両方にメッセージを送信するため、ここではコントローラーとして機能します。

もちろん、商用アプリケーションの場合は、独自のモデルとドキュメント構造を実装し、それらを対応する WinForm オブジェクトから分離します。

.net では、モデル部分とビュー部分の両方に 1 つのファイルしかないため、これはあまり明確ではありません。MFC では、CDocument クラスとそれに対応する CView クラスがあり、非常に明確でした。

MVC パターンではなく、Windows アプリケーションの場合、Windows メッセージング アーキテクチャとその処理方法を理解するのに役立ちます。

于 2009-06-05T14:25:23.793 に答える