C#. Операторы доступа для сокрытия, но не для защиты?
В каком энтерпрайзе? Это как рассуждение, что одежда нужна лишь для показухи и чтобы прилично выглядеть среди людей, детей и т.д., а дома можно ходить и голым. Так же можно придраться к любому принципу программирования. Вот забьёшь ты на всё это, тебя самого не будет парить, что у тебя в привычку входит быдлокодить? Следовательно у тебя не развивается определённый навык, ведь ты не паришься о сокрытии. Да и сам ты через месяца разберёшься в своём большом проекте, что можно вызывать из вне, что нет. 
А зачем вообще классы? Давай всё в один класс, но у каждого метода будет префикс, чтобы понятно было, а то ещё точку ставить надо. Вот ещё!
А если пишешь один для себя, то обязательно пишешь такой говнокод, где нет архитектуры, все навалено прям в button_click, и поэтому и точку ставить негде в принципе, и у классов нету членов нуждающихся в сокрытии, ибо в общем-то и нет ни членов, ни классов? Серьезно?
А если ты, напротив, пишешь свои высокоуровневые и высококачественные обертки для всех библиотек, с которыми работаешь, то это уже суровый энтерпрайз и много людей? Спс за комплимент. Я думал, что я всего лишь убогий нищебродный фрилансер, а я оказывается охрененно крут, работаю в энтерпрайзе и один заменяю много людей.
Про "защиту" вообще бредовые какие-то рассуждения. Вы о чем?