Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Комментарии: Обратите внимание на использование BigDecimal для хранения чисел, установку точности (setScale(2)) , особенно при выполнения операций деления.

 

 2. Релизуйте класс корзины интернет-магазина (другого объекта предметной области) по заданному интерфейсу:

 

 

Блок кода
languagejava
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 зависимостей:

...