#node.js #design-patterns #software-design #separation-of-concerns #single-responsibility-principle
#node.js #шаблоны проектирования #программное обеспечение-дизайн #разделение проблем #принцип единой ответственности
Вопрос:
У меня всегда была эта путаница, о которой я не мог рассуждать больше. Каждый раз, когда я думаю об этом, я запутываюсь.
Также сложно поместить в одну строку, поэтому заголовок неоднозначен.
Все это о том, куда должна идти логика?
Я структурировал свою серверную архитектуру, как показано ниже.
Маршрутизатор направляет к контроллеру, а контроллер взаимодействует с поставщиком услуг или службой.
то есть
Для /zones
маршрутизатора будет маршрут, на ZoneController
который загружаются задачи ZoneService
.
Аналогично, /banner-images
маршрутизатор будет маршрутизировать, на BannerImageController
который загружаются задачи для BannerImageService
Справедливо!
Теперь предположим, что мне нужно получить изображения баннеров в зоне, чтобы banner-images?zone_id=2
Куда должна идти логика? Какой контроллер? Какой сервис?
Ответ №1:
похоже, что Зоны здесь первоклассные граждане. Я думаю, один из способов был бы /zones/2/banner-images
.
Какова связь между ними? У вас могут быть баннеры без зон? Являются ли они несколько независимыми, вместо этого?
Комментарии:
1. Они независимы.
2. тогда это должно быть удобно в использовании
banner-images?zone_id=2
. Вы также могли бы взглянуть на GraphQL ( graphql.org )