Предположим, что у нас есть 5 классов Python X1, X2, X3, X4, X5 и следующий код:
class Schedule:
def __init__(self):
pass
class DateBound:
def __init__(self):
self.attr3 = Schedule()
class Behavior:
def __init__(self):
self.attr2 = DateBound()
class Host:
def __init__(self):
self.attr1 = Behavior()
class PeriodController:
def __init__(self):
self.attr0 = Host()
Теперь предположим, что функции в PeriodController необходим доступ к attr3class DateBound :
class PeriodController:
def __init__(self):
self.attr0 = ()
def example_function(self):
return self.attr0.attr1.attr2.attr3
Как мне эффективно получить доступ к attr3 в такой ситуации?Я ничего не имею против доступа к нему, как example_function () , но это не кажется правильным из-за повторения attr0.attr1 ... attrn
Вкратце,концепция этой реализации состоит в том, что Host имеет Bahavior , который определяет среди прочего, в какое время он должен быть подключен к серверу.
Класс DateBound существует, потому что иногда хост может быть подключен к серверу в другое время, отличное от его обычного поведения , но это действительно хороший хостследовательно, обычное время соединения Host не указывается с использованием экземпляра Datebound .
A DateBound имеет Расписание , которое содержит время, которое имеет экземпляр DateBound , следовательно, время Host должен быть подключен.Наконец, PeriodController контролирует, подключен ли Host в соответствии с его обычным Behavior , поэтому PeriodController необходим доступ к self.attr3 * 1051.*