С одной стороны сервисы у нас распухают и в них перемешана доменная логика, сервисы необходимые приложению и сервисы необходимые симфони.
С другой вынесение сложного сервиса справочников отдельно (как и Security) не помогает. Кроме того у нас появляются все больше разных объектов и моделей, не пойми куда пришитых.
В данной задаче предлагается:
Внести Dictionaries обратно в Servces сделана в tndt-42
- Вероятно туда же внести Security
Все директории DTO, Object переименовать в Model сделана в tndt-42
- Создать директории Presentation, Infrastructure, Application
- В Presentation внести функции twig, Формы с их моделями, Сервисы для правильного и красивого отображения. Вероятно контроллеры.
- В Infrastructure вероятно будет Security и что-то еще.
- В Application вносим доменную логику, сервисы ответственные за бизнес-действия.
EventSubscriber все так же разноcим по папкам слоев так чтобы в каждом слое были только относящиеся к нему сабскрайберы.
Вопросы/тезисы
- То, что разнести необходимо явно это Presentation и все остальное.
- Нужен ли нам отдельный Domain вопрос, ибо мы не хотим сильно отбегать от симфони, у нас не так много бизнес-логики.
- Если делим как делим Application/Infrastructure/Domain?