2011-11-08 11 views
1

私は自分自身のオブジェクトを名前でデータ構造体に保持する「A」というシステムを持っています。基本的にシステム 'A'にはgetObject(obj_name)という関数があります。この関数は、指定された名前のオブジェクトobj_nameがまだ存在しない場合は作成し、それ以外の場合はオブジェクトを返します。オブジェクトへのアクセス権の追加

次に、プログラム1は、システム 'A' を使用し、(getObjectメソッド)関数上に使用して、 "Program1_Object" と呼ばれるオブジェクトを作成し、2つのコールが、引数として "Program1_Object" とのGetObject

プログラム。

ここでの問題は、プログラム1オブジェクトをプログラム2に戻します。オブジェクトが呼び出し元プログラム用でない場合、エラーを返すか、呼び出し元プログラム用に新しいオブジェクトを作成する権限をオブジェクトに追加します。

それの裏には何がありますか?

おかげ

答えて

2

Aは、ハッシュテーブルのための単純なラッパーである可能性があります。許可コードはgetObjectへの追加パラメータで実装できます。

+0

ご回答ありがとうございます。とにかく、getObjectがgetObject関数へのアクセス権を渡す代わりに、自動的にアクセス権を作成することはできますか? – markfw

+0

@markfw - 意味のある権限システムを作成する場合は、呼び出し元から追加情報を取得する必要があります。その情報をパラメータとして渡したくない場合は、おそらくそれをプログラムのメタ情報から取り除いて別の方法で取得する必要があります。どのようにするかは、使用している言語によって異なります。例えば、Perlでは、関数がどのコードを呼び出すかを決定する方法があると考えられます。 –

+0

CやC++などの言語では、呼び出し元関数からメタデータを取得してキーとして使用するプログラムを作成する必要があります。 – markfw

関連する問題