10 ответов

9 просмотров

когда non-shared сервис нужен не в клиентском коде, а какой-нибудь зависимости

Alexander-Makarov Автор вопроса

А поконкретней пример можно?

Грубо говоря вот контроллеры: public function __construct(ViewRenderer $viewRenderer) { $this->viewRenderer = $viewRenderer->withController($this); } Оно у вас решается иммутабельностью, но если используется мутабельные объекты, то проблема решалась бы через non-shared сервисы

Я верно понял: "Сервисы с состоянием, но использовать их надо как без состояния" ?

Что-то вроде этого

Ок, другой пример. Есть вот такая цепочка: ReportBuilderFactory -> ReportBuilder -> Report. В случае с non-shared сервисом можно запросить ReportBuilder, на основании которого построить отчет. В противном случае надо будет запрашивать ReportBuilderFactory только для того, чтобы вызывать один метод create без параметров и получить этот билдер

Плюс, в текущем варианте придется создавать класс ReportBuilderFactory чтоб его вызывать, с non-shared сервисом можно будет просто сделать Definition для ReportBuilder

Если он ничего не делает кроме создания, то можно инжектором или фабрикой стандартной

Ну это все равно будет зависимость. Не от ReportBuilderFactory, а от обычной. А задача все-таки передавать сразу ReportBuilder

Какой смысл иметь 2 репортера, созданные одной и той же фабрикой, как разные сервисы?

Похожие вопросы

Обсуждают сегодня

Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
ребят, привет. за какое время бот полученную заявку на вступление в группу может принять \отклонить? Помню речь была про 5 минут, сейчас как?
Роман Ромашин :)
10
Доброго времени суток. Правильно ли я понимаю, что с введением новой платежной единицы stars, я просто могу оставить текущую платёжку от Юкассы, которая выполняется на сайте с...
Prokhor Chulkov
7
@veranikaEU получилось? Можно увидеть рабочий код?
Alex Kom
8
Тут вопрос они парсить всех ботов будут на предмет услуг платных и смотреть платежные реализации? Или через стукачей будут вычислять индивидуально.
A O
5
Привет) Я делаю график зависимости количества показов рекламного объявления от времени (группировка почасовая) и хочу показывать его в таймзоне клиента В базе данных метку в...
Виталий
1
Зачем тогда Wallet Pay?
Prokhor Chulkov
4
Всем ку, услышал заявление что теперь обязательно в бота встроить телеграм старс в бота, крайний срок - в июле Правда ли это?
Ilya Shvechikov
4
вопрос: кто как решает вопрос с динамической подгрузкой скриптов для отдельных страниц с включенным turbo router?
Sergei Toroptsev
25
Или кинули уже?
Magic
6
Карта сайта