Re: public Attributes vs getters && setters vs properties
От: jazzer Россия Skype: enerjazzer
Дата: 22.07.09 09:26
Оценка: 1 (1) +2
Здравствуйте, R1K0, Вы писали:

RK>Может кто-то что-то выскажет по этому поводу. Потому как реально никаких убедительных доводов против открытых атрибутов ни в одной книге не нашел.


Потому что ты не можешь гарантировать инварианты, если даешь прямой доступ.
Но если никаких инвариантов нет и тебя устраивает любое сочетание любых значений, то не вижу причин городить огород с геттерами-сеттерами (пример — std::pair).

Один довод в пользу геттеров-сеттеров — облегчение отладки, чтоб можно было брыкпонт на сеттер поставить, или там в лог написать чего-нть.
Еще довод — позже инварианты могут добавиться, и их гораздо проще добавлять в уже имеющийся метод, через переделывать все (хотя это тоже не смертельно — просто заменить на метод и пройтись по всем местам, где перестало компилироваться, а частота подобных метаморфоз кода все-таки невелика, чтоб платить за это неуклюжим синтаксисом).
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.