Оба имеют свое применение. Методы, предоставляемые классом, должны иметь надлежащий уровень абстракции. Например, если класс представляет собой реестр собак, поддерживаемых Map<String, Dog>
, то он может предоставить такие методы, как:
void addDog(String name, Dog dog);
Dog findByName(String name);
Если это, скажем, механизм правил, который позволяет клиентам указывать весь набор правил за один вызов, то он может предоставлять такие методы, как:
void setRules(Map<String, Rule> rules);
Map<String, Rule> getRules();