2011-11-08 101 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