Защита против плохой дизайн, не злоумышленники
Инкапсуляция, закрытая функциональность класса и другие рекомендуемые шаблоны проектирования ОО не предназначены для повторной защиты от вредоносных внешних функций и классов врагов.
Скорее, идея состоит в том, чтобы просто структурировать программу таким образом, чтобы она была менее хрупкой и легче изменялась.
Думайте о каждом классе как о отдельном здании. Мы могли бы построить новый офис, чтобы он опирался на следующее здание на севере и, возможно, протянул немного стали от здания на запад, чтобы помочь удержать нашу новую структуру.
Очевидным результатом будет повреждение структурной целостности соседей N и W и сомнительная поддержка новой конструкции. С программным обеспечением подобные плохие идеи не всегда так очевидны, поэтому мы читаем книги, полные принципов и рекомендаций, которые напоминают нам.