Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

ECOM(日本語)

From Wiki
Jump to: navigation, search
Article Metadata
Article
Translated:
From ECOM
By masatoshi
Last edited: hamishwillee (16 Dec 2011)

抽象基底クラスと仮想関数によって、プログラムがインターフェースを実装しているクラスを知ること無しに、インターフェースを呼ぶ手段をC++にはあります。同様に、ソース・レベルでなくバイナリで、Symbian OSは広く多相DLL(polymorphic DLL)を使ってきました(多相DLLは、ある特定のインターフェースを実装します)。それによって、既存のプログラミング・フレームワークに新しい機能を追加出来ます。しかしながら、多相DLLを使用している各フレームワークは、クライアントために、利用可能な実装を見つけてインスタンスを生成するために、それぞれの仕組みを用意する必要があります。EComは、以下のための仕組みを提供する包括的なフレームワークを導入することで、この重複した機能を除きます:

  • インターフェース実装の登録(register)と発見(discover)
  • 適切なしようするための選択(select)
  • プラグインのためのバージョンコントロール

どのようにしてECom がこれを行うか示すために、プラグイン・システムの本質の要約します。

クライアントは、いくつかの処理を実行するためにあるオブジェクトにアクセスしたい。このオブジェクトの具体なことは実行時までわかりません。処理の特徴の概略はわかり、インターフェースとして定義されています。しかし、処理に要求されるいくつかの変数は存在するかもしれません。これらは、インターフェースをサポートする実装が提供します。

このようなシステムには、4つの明確に定義された役割があります:

  • サービスにアクセスしたいクライアント
  • どうやってサービスにリクエストするかを定義するインターフェース
  • 要求された処理を提供するインターフェースの実装
  • クライアントに、実装へのアクセスを提供するフレームワーク

これらの関係は、下図のUMLで示されます:


Plug-in relationships


インスタンス生成の仕組みは、そのようなシステムの骨格を形成します。そして、実行時に正しいインターフェースの実装を識別・ロードするサービスを提供する役割です。EComはそのようなフレームワークです。


ECOM の完全なガイドは、Symbian's Developer Library のここにあります。


Bold text

This page was last modified on 16 December 2011, at 04:33.
169 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×