...
Комментарии: Обратите внимание на использование BigDecimal для хранения чисел, установку точности (setScale(2)) , особенно при выполнения операций деления.
2. Релизуйте класс корзины интернет-магазина (другого объекта предметной области) по заданному интерфейсу:
Блок кода | ||
---|---|---|
| ||
public interface Basket { void addProduct(String product, int quantity); void removeProduct(String product); void updateProductQuantity(String product, int quantity); void clear(); List<String> getProducts(); int getProductQuantity(String product); } |
...
Комментарии: стоит обратить внимание на использование наиболее удобной коллекции, (тогда будет меньше кода) и на исключительные ситуации (Exceptions).
3. Релизуйте Сервлет или JSP страницу со следующим поведением:
...
Комментарии: акцент на понимание времени жизни атрибутов и параметров request, атрибутов session. Красивые формы на HTML делать не надо.
4. Реализуйте контроллер Spring MVC, который отвечает на следующие HTTP запросы (состояние системы достаточно хранить в памяти):
a. /products/list – возвращает список объектов Product
b. /products/add?product.name=MILK&product.quantity=2 – добавляет в корзину покупателя 2 пакета молока
c. /product/remove?product.name=MILK - удаляет молоко из корзины.
Комментарии: Тут требуется написать только класс контроллера с простейшей реализацией. Акцент на привязку параметров запроса к параметрам (объекта) метода.
5. Напишите Unit-тест(ы) для следующего класса, не вызывая при этом код @Autowired зависимостей:
...