Две отдельные Map приводят к дублированию логики и ветвлениям по валюте. Лучше единая структура Currency → номинал → количество с общими операциями выдачи и пополнения.
Какие недостатки у решения с двумя отдельными Map для RUB и EUR и как его улучшить для добавления новых валют?
Две отдельные Map приводят к дублированию логики и ветвлениям по валюте. Лучше единая структура Currency → номинал → количество с общими операциями выдачи и пополнения.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Две отдельные Map приводят к дублированию логики и ветвлениям по валюте. Лучше единая структура Currency → номинал → количество с общими операциями выдачи и пополнения.
Допустимые номиналы и правила валюты вынесите в конфигурацию или отдельную модель. При добавлении валюты меняются данные, а не копируются алгоритмы. Не отдавайте наружу изменяемые остатки; выдача должна проверять возможность набрать сумму и списывать купюры атомарно. При разных денежных единицах нельзя смешивать суммы без явной валюты.