По канонам чистой архитектуры, доменная область не должна быть завязана на фреймворк. Поэтому в бизнес-логике никакой зависимости от Yii3, Yii2 и т.д. быть не должно.
По канонам чистой архитектуры, доменная область не должна быть завязана на фреймворк. Поэтому в бизнес-логике никакой зависимости от Yii3, Yii2 и т.д. быть не должно.
Ну так и не будет. DI-way - это композиция по сути.
По канонам чистой архитектуры, доменная область не должна быть завязана на фреймворк. Поэтому в бизнес-логике никакой зависимости от Yii3, Yii2 и т.д. быть не должно.
А если доменные интерфейсы фабрики, реализации которых делаю $yiiFactory->create()?
А если доменные интерфейсы фабрики, реализации которых делаю $yiiFactory->create()?
Думал об этом, но тогда всё придётся на фабрики перестраивать. Это сильно усложняет код.
Но и опять же, в коде та же самая цепочка изменений начнётся. Ведь мы не можем сделать new FactoryInterface(), нам нужно эту фабрику подцепить через свойство. А раз так, то это свойство должно быть внедрено... И снова по цепочке.