Если Продукты покрываются API, должны ли функции Корзины также охватываться API? - PullRequest
0 голосов
/ 19 марта 2019

Я работаю над примером из практики, где я добавляю несколько продуктов в базу данных, которая выполняется с помощью .Net Core API.После того, как я использую Angular, чтобы показать его и работать с частью представления приложения.

В настоящее время я могу добавлять товары, показывать их на экране, фильтровать их и делать с ними разные вещи.Что мне интересно, так это как мне работать, если, например, пользователь хочет добавить определенный товар в свой личный Автомобиль?

Я думал о двух способах: создать таблицу в базе данных, котораяпокрывает корзину и использует внешний ключ к продуктам и просто имеет POST для API, чтобы добавить товар в корзину.

Или когда человек нажимает на кнопку в приложениях Angular, он просто добавляет в корзинуэтот конкретный предмет так же, как он показывает.С помощью метода GET, который я реализовал в своем API.

Я не уверен, какой путь лучше, или, может, я ошибаюсь в обоих случаях?Что вы можете мне посоветовать?

Заранее спасибо!

1 Ответ

1 голос
/ 19 марта 2019

Ну, вы в основном уже идете по маршруту микроуслуг;у вас сейчас только одна услуга.Главное, что нужно учитывать при работе с микросервисами, - это то, что составляет «домен» вашего приложения и какие субдомены существуют в нем.Возможно, тележки и продукты находятся в одном и том же поддомене и, таким образом, могут обрабатываться одной и той же службой.Однако более вероятным является то, что они являются отдельными поддоменами, и вам необходимо иметь услугу продукта и услугу корзины.

Причина, по которой вы должны рассмотреть весь свой домен, заключается в том, что это повлияет на некоторые математические вычисления.Вот.Прямо сейчас вы просто говорите о продуктах и ​​тележках, и, может быть, вы можете сделать аргумент для тех, кто участвует в той же услуге.Тем не менее, вы не собираетесь останавливаться на достигнутом.Какой-то процесс оформления заказа, очевидно, станет частью этого (в противном случае нет особого смысла добавлять что-либо в корзину).Итак, учитывая это, разумно предположить, что у вас может быть служба проверки.Теперь вы должны спросить, являются ли тележки частью этого субдомена.Возможно, тележки лучше подходят для вашего заказа, чем для обслуживания товаров, или вам могут потребоваться услуги для всех трех: товаров, тележек и оформления заказа.

Длинные и короткие, здесь нет жестких и быстрых правил.Вам необходимо определить, что такое домен вашего приложения и как этот домен можно подразделить на независимые сервисы.Затем вам нужно будет определить, как вы будете координировать работу между этими сервисами и поддоменами.Это твоя архитектура;в конечном счете, вы должны это выяснить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...