Спроектируй систему автомата по продаже, которая эффективно управляет несколькими одновременными транзакциями, сохраняя целостность данных. Твой дизайн должен включать: (1) конечный автомат, который моделирует полный жизненный цикл транзакции от режима ожидания через выбор товара, обработку платежа и выдачу товара; (2) функциональность управления инвентарем; (3) поддержку нескольких способов оплаты; и (4) механизмы, обеспечивающие атомарность между обработкой платежа и выдачей товара. — ДейлиПреп