Как организовать взаимодействие между классами?
Например, у меня есть точка входа в классе А, идет инициализация всех классов (А, B, C, D), дальше экземпляр класса А используется в программе для запуска приложения. Приложение запускается и начинает дергать методы класса В. Методы класса В осуществляют некоторую логику, при которой возможен переход в один из классов С или D и работа продолжается там.
Методы дергаются только после полной инициализации и запуска приложения.
Вот упрощенный пример кода, но мне кажется он каким-то кривым:
class A():
def __init__(self):
print('init A')
self.b = B(self)
self.c = C(self)
class B():
def __init__(self, a):
print('init B')
self.a = a
def method_b(self):
print(self.a.c.my_atr)
self.a.c.method_c()
class C():
def __init__(self, a):
print('init C')
self.a = a
self.my_atr = 'my_atr'
def method_c(self):
print('Method C')
if __name__ == '__main__':
a_class = A()
a_class.b.method_b()