Сообщение от Randomize
Почему public для полей - плохой тон? Лучше что-ли писать на каждое поле GetValue/SetValue?
|
Как уже писал:
Бьёт по производительности. И тут лучше использовать Acessor'ы, для обращения к данным класса. Это реюзабельней, и более масштабируемо, т.к. можно заменить лишь тело аксессора, и везде будут применены изменения. В случае с переменными, так не пройдёт. Плюс внедрение например эвентов при изменении переменной и т.п. - это снова, чтобы это сделать, если использовал прямой доступ, придётся везде менять, во всех проектах где юзается это. А если юзался аксессор, то лишь в нём добавиться одна / две строки кода, и всё. Нигде менять не нужно. Либо менять имя переменной, и делать аксессор тем же именем как была переменная, но учитывая правила наименований сущностей - это будет грубым нарушением, что в результате ни в какие ворота.
Плюс ограничения доступа, если нужно сделать переменную модифицируемой только изнутри, а получаемой от куда угодно, или наоборот и т.п.