Я разрабатываю сервисный уровень для веб-приложения, в котором есть перекрывающиеся сервисы.Хотя есть несколько способов решения таких проблем, я хотел бы услышать шаблоны проектирования, рекомендованные экспертами в таких сценариях.
Я разрабатываю приложение такси для некоторой практики.У меня есть две основные сущности: машина и водитель.Итак, у меня есть два отдельных контроллера, позволяющих называть их DriverController и CarController, а два интерфейса в слое обслуживания позволяют вызывать CarService и DriverService, и там есть значения по умолчанию, которые подключаются к уровню DAO.Все это вместе полезно для упрощения базового создания CREATE / DELETE / UPDATE / MODIFY для сущности Car and Driver.
Нет, допустим, я хочу, чтобы мое приложение возвращало список автомобилей, принадлежащих конкретному водителю
Например: {"drivername": "alex", "cars": [{"carname": .... etc ....}]}
Я бы разработал конечную точку, такую как GET/ drivers / {drivername} / cars
, который запускает контроллер драйвера.
Теперь, на уровне обслуживания, я запутался, где мне написать бизнес-логику для этой задачи.Должен ли я добавить другой метод в интерфейс драйвера или у меня должен быть другой интерфейс, расширяющий это?Должен ли я добавить другой метод, такой как getCarsForDriver, в DefaultDriverServiceImpl или я должен расширить этот DefaultDriverServiceImpl и добавить к нему метод?
Здесь существует отношение один-ко-многим между водителем и автомобилем.Существуют ли какие-либо шаблоны / подходы для решения таких отношений?