我想要一个名为ProjectDirectory
的类和一个名为MetaDirectory
的类。每个项目都有一个MetaDirectory
,其中包含一些元数据。这是编写此类的好方法:
class ProjectDirectory(object):
def __init__(self, directory=None):
self.directory = directory
self.meta_directory = MetaDirectory(self)
def __repr__(self):
return self.directory
class MetaDirectory(object):
def __init__(self, project_directory=None):
self.project_directory = project_directory
self.directory = "%s/.meta/" % project_directory
ProjectDirectory
引用MetaDirectory
,MetaDirectory
引用ProjectDirectory
。还有其他解决方案还是这个解决方案很好?
最佳答案
很好,但是由于类之间现在存在一对一的连接,因此您实际上可以合并它们。如果ProjectDirectory旁边有许多目录类型,则可以从MetaDirectory继承。
但是,如果由于某些原因您不想这么做,那么上面的设计就可以了。本身没有任何问题。