Каква е най-добрата практика при прилагане/осигуряване на гетери/сетери за клас, съдържащ карта?
Най-често срещаната реализация, която виждам, е:
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); }
И защо този метод е по-добър?