«Я знаю, как работает защита на уровне пакетов в Java ... и, похоже, никто не использует ее».
Что они используют?
Они делают все свои уроки публичными?
Принцип Бремени принимает две формы.
Сильная форма утверждает, что бремя преобразования набора сущностей является функцией количества преобразованных сущностей. Слабая форма утверждает, что максимальное потенциальное бремя преобразования набора объектов является функцией максимального потенциального числа преобразованных объектов.
Международная организация по стандартизации определяет инкапсуляцию как свойство того, что информация, содержащаяся в объекте, доступна только через взаимодействия на интерфейсах, поддерживаемых объектом.
На более высоком уровне абстракции программные блоки также могут быть инкапсулированы в подсистемах, в результате чего информация, содержащаяся в подсистеме, доступна только через общедоступные программные блоки, содержащиеся в подсистеме.
Бремя создания или изменения любой программной системы зависит от количества созданных или измененных программных единиц.
Программные единицы, которые зависят от конкретной модифицированной программной единицы, имеют более высокую вероятность воздействия, чем программные единицы, которые не зависят от модифицированной программной единицы.
Максимальная потенциальная нагрузка, которую может создать модифицированный программный модуль, - это воздействие на все программные модули, которые зависят от него.
Следовательно, уменьшение зависимостей от модифицированного программного модуля снижает вероятность того, что его обновление повлияет на другие программные модули, и, таким образом, уменьшает максимальную потенциальную нагрузку, которую может наложить этот программный модуль.
Уменьшение максимального потенциального числа зависимостей между всеми программными модулями в системе, следовательно, снижает вероятность того, что воздействие на конкретный программный модуль вызовет обновления для других программных модулей, и, таким образом, уменьшает максимальную потенциальную нагрузку всех обновлений.
Теория инкапсуляции показывает, как использовать инкапсуляцию для уменьшения максимального потенциального числа зависимостей между всеми программными модулями.
Теория инкапсуляции, следовательно, показывает, как использовать инкапсуляцию для смягчения слабой формы принципа бремени.
В Java обеспечение приватности пакета класса является одним из ключевых механизмов снижения максимального потенциального числа зависимостей в системе и, следовательно, уменьшения максимально возможной нагрузки при любой модификации программного обеспечения в этой системе.
Тем не менее, вы упоминаете, что это не используется в коде, который вы читаете.
Звучит ... странно.