Oop UUID存储对象的模式名称
我正在编写一个应用程序,希望通过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
类对象存储:
定义初始化(自):
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是一个实现细节。