Какова наилучшая практика в реализации/предоставлении getters/seters для класса, содержащего карту?
Наиболее распространенная реализация, которую я вижу, это:
public class MyClass {
private Map<String, String> myMap;
public getMyMap() { /* Return an unmodifiable map */ }
public setMyMap(Map<String, String> myMap) { ... }
}
Или было бы лучше предоставить интерфейс, например:
public getMyMap() { /* Return a modifiable map */ }
public addToMap(String key, String value) { myMap.put(key, value); }
И почему этот метод лучше?