Что бы далеко не ходить, сразу определимся с терминами.
- Инкапсуляция — упаковка данных и функций в единый компонент.
- Сокрытие — представляет собой принцип проектирования, заключающийся в разграничении доступа различных частей программы к внутренним компонентам друг друга.
Взято с вики. В языке программирования Ruby с инкапсуляцией вроде как всё хорошо. С сокрытием на первый взгляд тоже, нам доступны локальные переменные, переменные инстансов, разные уровни доступа к методам (public, protected, private). Но иногда этого может не хватать.
Читать дальше →
Сокрытие в Ruby. А ещё скрываем классы из Top-Level
Source: habrahabr
