Я строю корзину покупок. Мой display object
ниже - данные, доступные покупателю. Объект cart object
- это представление выбора покупателей в корзине. Проблема, с которой я столкнулась, - сказать, что кто-то хочет отредактировать элемент в корзине и изменить его размер. sizes
больше не доступны в элементе корзины, потому что я уже выбрал размер и убил остальных.
// display object
{
"sizes": [
{
"price": 4.99,
"title": "s"
},
{
"price": 5.99,
"title": "m"
},
{
"price": 6.99,
"title": "l"
}
],
"desc": "here our green hat",
"title": "green hat"
}
// cart object
{
"size":
{
"price": 4.99,
"title": "s"
},
"desc": "here our green hat",
"title": "green hat"
}
SO.... Должен ли я просто пройти по всему display object
и пометить (каким-то образом), какой вариант был выбран? Или есть другое решение, которое мне не хватает?
Если ваши пункты покупок часто меняются, вам нужно снова вернуть их из своей внутренней системы, чтобы убедиться, что ваши данные согласованы. в это время лучше сделать вызов в базу данных и получить весь объект со всеми размерами. это решение также лучше подходит для приведения текущих состояний ваших предметов (возможно, размер L был доступен, но теперь он не после того, как решил изменить, поскольку у него много трафика при покупках)
Подсказка: вы можете позволить вашей бэкэнд-системе кэшировать элементы, которые часто вызывают с их размерами для повышения производительности.
Но в случае, если ваши пункты покупок обычно не изменяются или не поддаются обновлению, было бы лучше передать весь объект со всеми размерами с добавлением к новому свойству, чтобы идентифицировать выбранный.