MEF チームは、それはプラグイン モデルに関するものだと言い続けています。では、UI プラグインについて話しているのでしょうか。非 UI コードでこれをどのように使用できますか? コードをダウンロードしましたが、例はすべて GUI に関するものです。私はそれが間違っていると思いますか?
5 に答える
イリヤ
MEF は決して UI だけのものではありません。MEF は UI に依存するものはありません。そのため、MEF は System.ComponentModel 名前空間に存在します。デスクトップ アプリ、Web アプリ、またはサービスで MEF を使用できます。
サンプルに関しては、フィードバックをありがとうございます。非 UI ベースのテクノロジであることを示すより良いサンプルが必要です。多くのサンプルが UI に引き寄せられた理由は、Visual Studio などのチーフ パートナーがデスクトップ アプリで MEF を使用しているためだと思います。非 UI ベースのサンプルについてチームと話し合います。
ありがとうグレン
Ayende はここで MEF をうまくまとめています。
http://ayende.com/Blog/archive/2008/09/25/the-managed-extensibility-framework.aspx
また、放牧コードの若者たちは、MS MEF のメンバーの 1 人である Glenn Block との素晴らしいインタビューを行いました。
MEFは、アプリケーションの機能を拡張することを目的としているようです。私たちのアプリケーションでは、ユーザーがさまざまなエディションの評価エンジンを使用できるようにするためのMEFを検討してきました。これらのモジュールのUIはありません。UI機能を追加できますが、必須ではありません。
Microsoft Managed Extensibility Frameworkについて話している場合は、いいえ、それは間違いなく UI だけではありません。
サンプルで視覚的なことを行うことで、人々が概念を理解しやすくなります。プラグイン ブロックを使用した Tetris ゲームであることは、これ以上ないほど明確です。
Prismは注目に値するかもしれません。MEF は任意のコントラクトをインポート/エクスポートするコンポーネントを定義するために使用でき、Prism は分離された UI アプリで UI 領域を定義するために使用できます。