L
CoffeeMachine в нем класс Storage для хранения ингредиентов, в Storage создать классы для каждого из компонентов типа Water, Bean и так далее. Для компонентов можно создать интерфейс Component в котором будет метод check()Тогда при варке эспрессо ты можешь передавать List<Component> и в цикле вызывать для каждого
check() проверяя доступность материалов






