Лично я считаю, что использование Map
вместо реальных полей - ужасная идея. Мне не повезло работать с системами, которые широко использовали этот (анти) шаблон, и поддерживать его было кошмаром.
Я не вижу абсолютно никакой причины использовать карты для «проверки будущего», аргумент, что вы можете избежать добавления новых методов, смешен, особенно если учесть, что добавление нового поля занимает около 20 нажатий клавиш, добавление методов получения и установки для это еще 3-4 щелчка мышью. То, что вы получаете, - это ничто, а то, что вы теряете, - это безопасность типов и проверка времени компиляции, возможность контролировать и контролировать то, что устанавливается и когда, не говоря уже о том, что вы нарушаете принцип инкапсуляции.
Следует также отметить, что развитие самого языка Java двигалось в направлении все большего количества проверок времени компиляции, причем перечисления и обобщения являются наиболее очевидными примерами этого направления. Выбросить все это еще хуже, чем это было в эпоху 1.3-1.4
Карты следует использовать только тогда, когда что-то действительно динамично, т. Е. Список ключей не может быть известен во время компиляции.