2

私は現在、Webサイトの開発を標準化するために使用されるC#CMSのようなWebアプリケーションの開発に携わっています。当初から、多くのCMSシステムを苦しめる複雑さとメニュー/オプションの過負荷を回避するために、コアを可能な限りシンプルに保つという考え方がありました。この単純なコアが完成し、非常にうまく機能しています。

システムは、特定のプロジェクトのニーズに合わせてコア機能を拡張するプラグインまたはモジュールを受け入れることができると考えました。これらは、プロジェクト間で再利用することもできます。たとえば、基本的なカタログと買い物かごが必要になる場合があります。このような拡張機能のすべてのコードは、個別のアセンブリに含める必要があります。このライブラリから独自の管理インターフェイスとフロントエンドコードを提供できる必要があります。システムは利用可能なプラグインを検索し、管理者ユーザーに機能を有効/無効にするオプションを提供する必要があります。(これはすべてWordPressプラグインに非常によく似ています)

この問題を正しい方法で攻撃することが重要であるため、私は飛び込む前に可能な限りデューデリジェンスを実行しようとしています。

プラグインパターン(http://msdn.microsoft.com/en-us/library/ms972962.aspx)を認識しており、その使用法に関する記事をいくつか読んだことがあります。それは合理的なようですが、それが必ずしもこの状況に適した/最良の手法であるとは確信していません。アプリケーション(画像/音声操作、数学など)の処理に適しているようです。

この種のUI拡張機能を実現するための他のオプションはありますか?それとも、プラグインパターンは進むべき道ですか?

この目的でプラグインパターンを使用することを説明する記事へのリンクがあれば、私も興味がありますか?

4

1 に答える 1

1

マネージドエクステンシビリティフレームワーク(MEF)は、構成可能で拡張可能なアプリケーションの構築に特に焦点を当てた方法を提供します。.net 3.5のcodeplex上にあり、数週間以内にここでリリースされると.net4にバンドルされます。それはあなたがやろうとしていることに必要な配管を提供するのに役立ちます。

于 2010-04-05T20:28:38.420 に答える