×
Namespaces

Variants
Actions

ECOM(日本語)

From Nokia Developer 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 07:33.
95 page views in the last 30 days.