Действительно ли защищенные члены / поля настолько плохи?

Теперь, если вы прочитаете соглашения об именах в MSDN для C #, вы заметите, что в нем говорится, что свойства всегда предпочтительнее открытых и защищенных полей. Некоторые люди даже говорили мне, что вы никогда не должны использовать открытые или защищенные поля. Теперь я согласен, что мне еще предстоит найти причину, по которой мне нужно открытое поле, но действительно ли защищенные поля настолько плохи?

Я вижу это, если вам нужно убедиться, что при получении / установке значения выполняются определенные проверки достоверности, однако, на мой взгляд, большую часть времени это кажется просто дополнительными затратами. Я имею в виду, допустим, у меня есть класс GameItem с полями для baseName, prefixName и СуффиксName. Почему я должен взять на себя оба процесса создания свойств (C#) или методы доступа и снижение производительности, с которым я столкнусь (если я сделаю это для каждого отдельного поля в приложении, я уверен, что оно будет добавлено с меньшими затратами, особенно в определенных языках, таких какPHP или определенные приложения с производительностью критичны как игры)?

Ответы на вопрос(6)

Ваш ответ на вопрос