#525 Реализация логики в сервисе категорий товаров
Реализовать логику во всех местах с TODO:
public interface ProductCategoryService {
/**
* Метод вызывается 1 раз,
инициализирует сервис всеми товарами и категориями.
*/
void init(List<Product> products, List<Category> categories);
/**
* Проверяет принадлежность товара к категории,
может вызываться много раз и часто.
*
* @param productId идентификатор товара
* @param categoryId идентификатор категории
* @return {@code true} если товар принадлежит к категории,
в остальных случаях {@code false}и товар принадлежит к к
*/
boolean isProductInCategory(Long productId, Long categoryId);
/**
* Возвращает список товаров по категории.
* Товары должны быть отсортированы по имени.
* Может вызываться много раз и часто.
*
* @param categoryId идентификатор категории
* @return список товаров, принадлежащих к категории
или пустой список,
если к категории не принадлежит ни один товар
*/
Collection<Product> getProductsByCategory(Long categoryId);
}
public interface Category {
Long getId();
String getName();
}
public interface Product {
Long getId();
String getName();
List<Category> getCategories();
}
public class ProductCategoryServiceImpl implements ProductCategoryService {
/**
* Метод вызывается 1 раз,
инициализирует сервис всеми товарами и категориями.
*/
@Override
public void init(List<Product> products, List<Category> categories) {
//TODO implement
}
/**
* Проверяет принадлежность товара к категории,
может вызываться много раз и часто.
*
* @param productId идентификатор товара
* @param categoryId идентификатор категории
* @return {@code true} если товар принадлежит к категории,
в остальных случаях {@code false}
*/
@Override
public boolean isProductInCategory(Long productId, Long categoryId) {
//TODO implement
return false;
}
/**
* Возвращает список товаров по категории.
* Товары должны быть отсортированы по имени.
* Может вызываться много раз и часто.
*
* @param categoryId идентификатор категории
* @return список товаров, принадлежащих к категории
или пустой список,
если к категории не принадлежит ни один товар
*/
@Override
public Collection<Product> getProductsByCategory(Long categoryId) {
//TODO implement
return null;
}
}
Разбор вопроса
Войди, чтобы начать диалог
Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти
Доступно с Premium
Это лишь одно из решений, доступных с Premium. А ещё:
- 250+ продвинутых лекций
- 1300+ практических заданий
- 500+ решений задач с реальных собеседований
- Именные сертификаты Java Hub
- Расширенный доступ к AI-ментору