Давайте предложим, чтобы у меня был следующий класс
Public MyClass{
Date date;
//Mutable getters and setters
public Date getdate(){
retrurn date;
}
public Date setdate(Date date)
{date = date;}
//Now immutable setter and Getters
public Date getImmutableDate{
return new Date(date.getDate());
}
public void setImmutableDate(Date mydate)
{
date = new Date(mydate.getDate());
}
}
Это хорошая практика - использовать изменяемые методы получения и установки для Spring или Hibernate Framework и использовать неизменяемые методы установки и получения для моего пользовательского кодирования.Чего я боюсь, так это:
MyClass myclass = new MyClass();
//assuming that item date was initalized some how.
Date currentDate = myClass.getdate();
currentDate.setMonth( currentDate.getMonth() + 1 );
Теперь, что случилось, я просто изменил значение переменной даты внутри объекта myClass, и это может быть первичным корнем для ошибок в системе.
Я прав?Могу ли я использовать неизменяемые геттеры и сеттеры для Spring / Hibernate?