2

従来のMVCとCocoaMVCの違いを示す図がここにあります。

Cocoaデザインパターン:Model-View-Controllerデザインパターン

Visual Studioを使用して.NETで「Cocoa」の方法でそれを行うことの利点はありますか?

4

4 に答える 4

3

それがあなたにとってより理にかなっていれば、そのようにしない理由はありません。Cocoa フレームワークの多くは、サブクラス化よりも構成と委譲を優先するなど、高レベルの設計上の決定によるものであることに注意してください。

必要に応じて、Objective-C ソフトウェアのように見える C# ソフトウェアを設計できますが、Cocoa の経験がない人には、疎結合の設計が「奇妙」に見えるだけなので、説明してもらう必要があります。

ああ、そうです。この設計の利点には、UI ビューとモデル クラスの再利用性の向上 (相互の知識がないため)、ビュー クラスのコードのわずかな単純化、および "アプリケーション ロジックの増加" が含まれます。 " 1 つの場所 (コントローラー クラス) に。

于 2008-09-18T19:23:46.603 に答える
1

.Net developer's Journal の開発者は、彼の移行について書いており、.Net での Cocoa MVC スタイルの使用を含め、.Net と Cocoa を比較しています。

http://dotnetaddict.dotnetdevelopersjournal.com/tags/?/cocoa

于 2008-09-23T00:12:54.243 に答える
0

Cocoaの「仲介コントローラー」(NSControllerのサブクラス)を使用する主な利点は、モデルとそのビューの間を仲介するために必要な標準機能の大部分を実装することです。ビューの選択によって示されるモデルの部分の追跡や、トランザクションのサポート(たとえば、ビューまたはモデルへの一連の変更をコミットまたは破棄できるようにするため)などが「無料」で含まれています。NSControllerサブクラスをモデルとビューの間の「グルー」コードとして使用すると、開発者は「コントローラーの調整」機能(コントローラー層にあるアプリケーション固有のロジック)に集中できます。

では、.Netでこのパターンを使用する価値はありますか?一般的な調整コントローラーを正しく機能させるのは簡単なことではありません(たとえば、Appleがすべてを正しく機能させるには2、3のリリースが必要でした)。ツリーコントローラのようなものは特に注意が必要です。このパターンを1つまたはいくつかのプロジェクトでのみ使用している場合は、努力する価値がない可能性があります。一方、コミュニティは、CocoaのNSController階層である一般的なコントローラーフレームワークを高く評価すると確信しています。

于 2008-09-19T00:28:48.320 に答える
0

「MVC の Cocoa バージョン」は、ASP.NET MVC で使用されるパターンではありませんか? これまでのところ、すべての例は、V と M の間の直接的な相互作用を伴わない、コントローラを介したビューとモデルの双方向通信を示しています。これは間違って理解していますか?

于 2008-09-18T19:27:45.517 に答える