Я хочу иметь класс с именем 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
.
Есть ли другое решение или это решение хорошее?
мелочью, рассмотреть вопрос об изменении ' "% S/.meta /" % project_directory' в' os.path.join (project_directory, '.meta') ' – SingleNegationElimination
@TokenMacGuy спасибо за советы! :-) –
Похоже, вы дважды храните каждое значение каталога. Почему ProjectDirectory сохраняет значение meta_directory и наоборот? И что вы получаете, делая их уроками вместо простых строк? –