169 похожих чатов

В приложении нужно парсить текстовые сообщения \App\Models\Message. При создании нового

сообщения выкидывается событие, на котором висит слушатель, который передает экземпляр сообщения в ParsingService, который должен отдать сообщение конкретному паресу. На каждое сообщение свой класс-парсер, реализующий один общий интерфейс. Вопрос в том где регистрировать эти парсеры. В ParsingServiceProvider? Или достаточно положить их внутрь ParsingService? Не будет ли это нарушением архитектуры ларки?

5 ответов

5 просмотров

В провайдере может по условиями забиндить реализации интерфейса

https://laravel.com/docs/9.x/container#contextual-binding

Cyrtolat- Автор вопроса
Nikita
В провайдере может по условиями забиндить реализац...

Идея понятна, но это немножко не то. Тут если бы я заранее знал какой парсер применять к сообщению, то оно бы было кстати.

Если парсеры зависят от конфига или других сервисов, то в провайдере. Дальше делаешь фабрику, которая дёрнет контейнер и вернёт соответствующий типу сообщения парсер

Cyrtolat- Автор вопроса
Sergey Chizhik
Если парсеры зависят от конфига или других сервисо...

Не зависят нисколько. Они жестко сцеплены с текстом сообщения. А аот про фабрику интересно. Имеется ввиду паттерн фабрики?

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

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

Друзья, за кем?
Magic
12
А шо, ты этой библиотекой пользуешься?
Darkanronpa Dark Hole
10
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Всем привет. Кто-то может подсказать, как можно перевести значения Selection поля, если список значений в нем формируется динамически? Я изначально их получаю из selection дру...
Наталья Селезнева
6
Или даже по-другому вопрос выстрою Есть ли вообще в electron'e для винды, возможность кнопки действий в нотификацию впихнуть ?
Андрей
7
Hello friends, I have a question. I have a site written in HTML. This site has been ranking high on Google for about 10 years. I will change the hosting of the site and I will...
Ens
4
приветы , подскажите что я не так сделал , почему у меня скрипт не работает в программе Revit ? ;Autohotkey_RU IfWinActive ("ahk_exe Revit.exe") ; только в открытом Revit Gu...
Anton Terentev
2
> комьюнити я бы не судил по этому чату. Как мы видели по статам просмотров нескольких телеговских постов, то в чате их набивается 30-40 или даже выше, когда как общаются акти...
Constantin F.
4
Карта сайта