2011-11-08 148 views
1

我有一個名爲'A'的系統,它通過名稱將自己的對象保存到數據結構中。基本上系統'A'有一個叫做getObject(obj_name)的函數。這個函數創建一個名爲obj_name的對象,如果它不存在然後返回它,否則它只返回對象。向對象添加權限

現在,節目1使用系統 'A' 和創建一個名爲 「Program1_Object」 使用上述函數(的getObject)

程序2級的呼叫與 「Program1_Object」 作爲它的參數GetObject的一個對象。

這裏的問題是getObject將程序1對象返回到程序2.我想爲該對象添加權限,如果對象不是用於調用程序,則返回錯誤或爲調用程序創建一個新對象。

背後有什麼竅門?

感謝

回答

2

A可能是一個哈希表的簡單包裝。權限可以通過getObject的附加參數來實現,說明調用代碼的權限。

+0

感謝您的回覆。無論如何,getObject可以自動創建一個權限,而不是將權限傳遞給getObject函數? – markfw

+0

@markfw - 如果你想創建一個有意義的權限系統,那麼你需要從調用者那裏獲得額外的信息。如果您不想將這些信息作爲參數傳遞,那麼您需要通過其他方式來獲取它,也許可以將其從程序的元信息中提取出來。你如何做到這一點取決於你使用的語言 - 例如,在Perl中,我相信有一種方法可以讓函數確定哪些代碼稱爲它。 –

+0

對於像C或C++這樣的語言,我必須創建一個從調用者函數中獲取元數據並將其用作關鍵字的程序,對嗎? – markfw