скрыто от какого либо контракта: публичного защищённого пакетного
Я б сказал инкапсуляция это как раз блек-бокс подход Сокрытие деталей реализации от клиента Это не про изменения и данные, изменения это скорее иммутабельность/мутабельность Но так или иначе это про публичный контракт, и его минимизацию И, касательно вэлью-объектов, a.k.a pojo, мне кажется, что они максимально нарушают этот принцип, что наверное для них допустимо, т.к. это просто обёртка данных
Инкапсуляция в вакууме - это только создание контракта/интерфейса взаимодействия, потому что создать блекбокс в рамках одного приложения несколько проблематично и не имеет смысла, а интерфейс взаимодействия с модулем - вполне. Вот и инкапсуляция логики 🤷♂ Иммутабельность идёт параллельно всему этому и её наличие/отсутствие зависит только от бизнес-логики. Хотя инкапсуляция в некоторых случаях нужна чтобы добиться иммутабельности
конечно
Обсуждают сегодня