У меня есть некоторые сомнения по поводу круговой зависимости.
Я хочу разработать модуль для PHP-фреймворка. У меня есть класс для соединения с фреймворком и этот экземпляр несколько объектов. В примере есть A и B, но есть больше.
Я хочу получить доступ к функциям и параметрам объектов из других классов, но какой дизайн лучше?
class Main {
$a;
$b;
public function __constructor() {
$this->a = new A($this);
$this->b = new B($this);
}
public function getA() {
return $this->a;
}
}
class A {
$main;
public function __constructor(Main $main) {
$this->main = $main;
}
public function functionA() {}
}
class B {
$main;
public function __constructor(Main $main) {
$this->main = $main;
}
public function functionB() {
$this->main->getA()->functionA();
}
}
Я понимаю, что у меня есть круговые зависимости. Это не слишком дорого, потому что только один раз экземпляры этих объектов, но я хочу сделать правильно.
Другие варианты у меня есть:
Я полагаю, что последний вариант предпочтительнее, но я хочу простой основной класс для получения запросов к модулю.
Есть ли шаблон дизайна для моей структуры? Любой совет?
Благодарю.
Задача ещё не решена.
Других решений пока нет …