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