解耦项和项管理器关系

2024-10-03 19:26:17 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑以下代码:

class Item:
    def __init__(self):
        self.properties = {}
        self.baseItemId = None

    def evaluate():
        baseItemProperties = ItemManager.LookupById(self.baseItemId).properties
        ...
        do stuff

    ...

class ItemManager:
    def __init__(self):
        self.items = []

    def downloadItems():
        ...
        adds items to self.items

我有一个ItemManager维护的项目列表,由用户文件和一些下载的文件填充。每次下载后,我都会对这些项目进行评估,以更新它们的内容。但是evaluate要确定要使用的基本项,需要访问id->;项目查找表。我觉得这不对,因为突然间Item需要注意ItemManager

这个设计可以吗?有没有更好的办法


Tags: 文件项目代码selfnoneinitdefitems