Область действия сервисов

136
02 апреля 2021, 18:50

Не могу понять правильную область действия сервисов в web приложении. Вот у нас есть сервис, логично, как мне кажется, предположить, что его можно обернуть в другой класс, добавлять обсерверы, или стратегии. Возможно выполнять действия в зависимости от привилегий. Но где делать всё это? Это же уровнем выше сервиса, но при этом логика приложения - значит это не зона действий контроллера.

У меня в голове 2 выбора, а вы как считаете?

  1. Делать ещё один слой между сервисом и контроллером. Но пока нигде такое не встречал, но и опыта у меня мало. Везде вижу controller-service-repository.

  2. Делать дополнительные методы в сервисе, которые используют другие методы. Например есть метод getById() внутри которого происходит notify(). Но ведь обсерверы надо ещё забить в класс. Значит нужно ещё делать метод SetObserversForGetById? Ну это же вроде бред.

    Ещё интереснее, если взять ситуацию, что один метод вызывается в разных местах с разным количеством наблюдателей. Ну или делать attach($observer) в контроллере...

READ ALSO
Почему функция unlink() не видит файл?

Почему функция unlink() не видит файл?

Хочу удалить файл из папки так как папок и файлов много я подставляю их имена через переменную unlink('files/$loc/cards/$namephp');, но функция unlink не видит...

113
Netty-сервер не принимает пакеты от Netty-клиента

Netty-сервер не принимает пакеты от Netty-клиента

Такая проблема - имеется сервер, работающий с Netty (используется порт 7755), и принимающий данные в формате JSON (используется Netty >= 41 и JsonObjectDecoder),...

132
Изометрия не получается

Изометрия не получается

Понимаю, что таких тем уже множество, но не одна из них не дала четкое понятие и примера, я пытался сделать его сам из кусков в описаниях этих...

103