私は2つのデスクトップアプリケーションを外部アプリケーションと統合したいと考えています。アプリケーションの1つは、すべてのディストリビューションに共通ではない特定の機能を提供するために、私が開発したプラグインで拡張されています。状況は次の図で説明することができます:私が述べたように私のアプリケーションと外部アプリケーションの統合
alt text http://img32.imageshack.us/img32/8902/integration1.png
、私は(受信したデータを送信する)外部アプリケーションやSDKのと私のアプリケーションを統合します。通常、そこに外部アプリケーションからのデータの2種類:
- 一般/共通データ - 常に関連
- 具体的なデータである - コアアプリケーション」では、各外部アプリケーション
のために異なる方法で処理されなければなりません」、指名手配の状況は、この図で説明されることができます。
alt text http://img32.imageshack.us/img32/3299/integration2.png
一般的なデータIコアアプリケーションで処理され、特定のデータはプラグイン(サポートプラグイン)で処理されます。
このアプリケーションの配布は
- コアアプリケーション+ YakkoのApp + YakkoのAppインテグレータ+ Yakkoアプリのサポートプラグイン
- コアアプリケーション+ドットのApp +ドットのAppインテグレータ
他のアプリケーションでは、同じ「インテグレータ」を保持したいが、アプリケーション内でそれらを別々に扱いたい。
alt text http://img32.imageshack.us/img32/2088/integration3x.png
ここで説明したように、外部アプリケーションとSDKSを統合するためのアプリケーションでのサポートを実装するにはどうすればよいですか?
注:
- 私はWindows上でC++を使用していますし、プラグインはのDLLとして配布されています。
- 使用するデータ型は常に事前にわかっています。ソースからハンドラに移動するには一般的な方法が必要です。
COMはあなたのためには機能しませんか? –
COMはこれで動作しますが、それは私にとっては複雑すぎるようです。私はメッセージベースの解決策のいくつかの種類がより簡単かもしれないと思ったが、より多くの意見を得たいと思った。 – kshahar
「よりシンプルな」ソリューションをお探しなら、cOMがあなたに与えることの多くを再実装することになります。 –