2

私は現在、ゲーム プラットフォーム アプリケーションで働いています。新しいゲームを簡単に追加できるようにしたいのですが、ゲームは特定の契約に準拠する必要があります。

  • ゲームにはいくつかの必要なメソッドが必要です
  • メインプログラムによって提供されるいくつかのイベントを受け取る必要があります
  • 一部のデータをプログラムに送り返すことができなければなりません
  • インターフェースの知識があるだけで、外部の開発者がそのプラットフォーム向けのゲームを簡単に作ることができれば素晴らしいことです

MEF vs MAFのような質問をいくつか読みましたが、最初はMAF の方が自分には適していると思いますが、それはよくわかりません。さらに、ゲームを DLL としてコンパイルし、実行時にそれらを取得するような自家製のシステムを作成することもできると思います。

MAF は分離されているため良さそうに見えますが、私は実際にはほとんどアドインを使用していないため、読んでみると MAF は重くて速度が不足しているため、何を使用すればよいかについて多くの疑問を抱いています。

遅くて開発が難しい場合でも、MAF を試す必要がありますか?

4

1 に答える 1

4

これはおそらくあなたの完全な答えではないでしょうが、私は経験のあるMEFに参加します(私はMAFの実際の経験はありません). MEF には、お客様のニーズに適していると思われる多くの利点があります。

MEF は軽量で、非常に使いやすいです。依存性注入を提供します。

発見のものは非常に使いやすいです。カタログを作成するだけで、すぐに使用できます。

MEF を使用すると、プラグイン アーキテクチャを簡単に作成できます。私はそれで完全に売られています。

MAF は分離を提供する可能性がありますが、アプリケーション ドメイン間で呼び出すにはリモート可能にする必要があり、これは面倒です。未処理の例外によってメイン アプリが取り出されないようにするには、独自の制限がある独自のプロセスでアドインを作成する必要があります。たとえば、アドイン間で DLL を共有する場合は、アドインが共有 DLL と同じディレクトリにあるか、共有 DLL が GAC にある必要があります。

于 2013-01-03T20:57:33.093 に答える