Re[2]: Геттеры и сеттеры
От: mkizub Литва http://symade.tigris.org
Дата: 22.06.08 12:29
Оценка:
Здравствуйте, Darth Jurassic, Вы писали:

DJ>Согласен с код ревью. Если я правильно понял, на листинге изображен класс-обёртка. Что ожидают от обёртки: что сеттеры устанавливают значения свойств подлежащего объекта (в данном случае entity).


А если ты неправильно понял?
Если entity — это закэшированное значение из базы данных, уникальным идентификатором которого является entityName?
Они установили новый entityName, а сам entity куда должен показывать? Если его загружать через loadEntity(),
то это везде в коде, перед использованием класса надо будет писать loadEntity() просто так, на всякий случай.
Это сделает код громоздким, неудобным, и главное — всё равно не будет гарантии, что где-то не забудут сделать
loadEntity(). А если сделать

getEntity() { if (entity == null) entity = loadEntity(); return entity; }


то точно так-же, неожиданно для пользователя getter-а, он начнёт лазить в базу данных и
занимать непредсказуемое кол-во времени, выдавать непонятные exception-ы и т.п.
Короче, хрен редьки не слаще.
SOP & SymADE: http://symade.tigris.org , блог http://mkizub.livejournal.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.