Нека предложим да имам следния клас
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?