Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop UUID存储对象的模式名称_Oop_Design Patterns_Uuid - Fatal编程技术网

Oop UUID存储对象的模式名称

Oop UUID存储对象的模式名称,oop,design-patterns,uuid,Oop,Design Patterns,Uuid,我正在编写一个应用程序,希望通过UUID存储会话信息。为此,我编写了以下代码: 导入uuid 类对象存储: 定义初始化(自): self.objects={} def添加(自身、obj): uuid_value=uuid.uuid4()#uuid4生成一个随机uuid self.objects[uuid_value]=obj 返回uuid_值 def检索(自身、uuid): 返回self.objects[uuid] 这种结构是一种常见的模式吗?如果是,它是否有名称?您的意思是除了关系数据库表之

我正在编写一个应用程序,希望通过UUID存储会话信息。为此,我编写了以下代码:

导入uuid
类对象存储:
定义初始化(自):
self.objects={}
def添加(自身、obj):
uuid_value=uuid.uuid4()#uuid4生成一个随机uuid
self.objects[uuid_value]=obj
返回uuid_值
def检索(自身、uuid):
返回self.objects[uuid]

这种结构是一种常见的模式吗?如果是,它是否有名称?

您的意思是除了关系数据库表之外的其他名称?它似乎是一种缓存类型。但我正在努力理解这一点。调用者有一组对象,每个对象都会收到一个映射到其中一个对象并可用于检索对象的
uuid
。假定调用方可以删除所有对对象的引用,只要他有一个
uuid
列表。但是调用者如何知道他想要检索哪个
uuid
,因为一个
uuid
没有语义意义,除非他想要所有的?但那又有什么意义呢?你能描述一个用例吗?对象存储包含会话。客户端接收会话ID和可能的更多信息。如果客户端将ID发送回服务器,我可以查找属于它的会话数据。调用方ID的语义含义是它的存储位置。通常,在这样的用例中会使用指针或引用,但这是不可能的,因为调用者是一个无法(直接)访问数据的程序。对不起,我在你的帖子中错过了这一点。唯一想到的是“不透明令牌”;您的令牌恰好是UUID是一个实现细节。