Size: a a a

Software Design/Architecture/Zen

2021 November 13

Z

Zitoune in Software Design/Architecture/Zen
Корзина сохраняемая на бэке, но мы тогда на апи поиска навешиваем функционал (а глянь ещё вот на корзину, есть ли они уже в корзине)
источник

N

Nikita in Software Design/Architecture/Zen
А в каких кейсах корзину хранить на клиенте это ок? А то в голове сразу строится картина что на бэкенде нужно будет проверять цену и наличие товара и каким то образом этот конфликт решать в плане UX для юзера
источник

П

Пашок🗽 in Software Design/Architecture/Zen
Мне кажется всё зависит от конкретного ТЗ. Если предусмотрена возможность регистрации на сайте магазина, то корзину зарегистрированных пользователей можно хранить на бэке. По поводу ux не совсем понятно какие конфликты ты имеешь ввиду
источник

SP

Sergey Protko in Software Design/Architecture/Zen
А без регистрации нельзя хранить на бэке?)
источник

П

Пашок🗽 in Software Design/Architecture/Zen
А нафига ?)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Что бы бизнес знал что люди добавляют в карзину и что туда кладут и что не доходят до чекаута
источник

N

Nikita in Software Design/Architecture/Zen
Имеется ввиду что нужно будет юзеру выводить как то что вот эти то товары не в наличии уже, или что цена изменилась
источник

SP

Sergey Protko in Software Design/Architecture/Zen
У уди про это было в if (domain logic) cqrs saga
источник

П

Пашок🗽 in Software Design/Architecture/Zen
А какие есть нормальные варианты идентифицировать юзера без учётки, чтоб достать его корзину ?)
Если сохранять для статистики только
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Куки, сессии, вот это все.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Кто просит "надёжно"
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Вводится тайм-аут какой, если ты мол завис то пользователя явно заставить пересчитать карзину мол. Всякое можно
источник

SP

Sergey Protko in Software Design/Architecture/Zen
1. Можно ли доверять клиенту что-то считать
2. Что будет если посчитают неправильно
3. Влияют ли действия других пользователей на логику
4. Подсчёты нужны только на клиенте?
5. Работа оффлайн?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Ну тип таких
источник
2021 November 15

ПГ

Павел Г. in Software Design/Architecture/Zen
Приветствую. Подскажите плиз про паттерн Creator из GRASP. Есть код следующий по его правилам:
public class Order {
   public void addOrderItem(int amount, String name, int price) {
      orderItems.add(new OrderItem(amount, name, price));
  }
}

public class OrderItem {
   public OrderItem(int amount, String name, int price) {
       this.amount = amount;
       this.good = new Good(name, price);
   }
}

Что делать, следуя этому паттерну, если addOrderItem будет требовать больше 3 аргументов, т.е. явно требуется рефакторинг и выделение класса? Банально добавляем currency.
источник

В

Валентин in Software Design/Architecture/Zen
price+currency=money
источник

N

Nikita in Software Design/Architecture/Zen
Кстати можете подсказать почему советуют (вроде тот же Фаулер) всегда хранить деньги парой (количество, валюта)?

Если у нас одна валюта на все приложение? или у нас транзакции в пределах например одного магазина на маркетплейсе который сам себе валюту выставляет, и она используется чисто для вывода на фронте
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Это понятно, вопрос в том, что по паттерну, нужно этот money создавать внутри Good,
А у нас будет addOrderItem(int amount, String name, int price, string currency) который нужно как то рефачить
источник

В

Валентин in Software Design/Architecture/Zen
а нельзя всюду передавать вместо int price объект денег? вместо того, чтобы передавать еще и валюту и где-то внутри соединять в money?
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Так в этом вопрос паттерна и как с ним верно работать. Так можно и Good создавать снаружи и передавать. Подобно money. Но он создается внутри OrderItem
источник