данным нет
иначе, какой смысл?
ну вот я вызываю сеттер, параметрами указываю весь приватный стейт объекта, который отправляет сообщение. Дальше в сеттере вызываемого объекта устанавливаю весь приватный стейт вызываемого объекта. Тут неясно как сообщение обеспечило сокрытие приватного стейта 🤔 Сообщение вроде бы есть. А сокрытия приватного стейта как будто нет.
тут надо статический анализатор подключать к мерджреквесту и чтобы в бухгалтерию сообщения шли с вычетом из зарплаты потому что выстрелить себе в ногу можно практически из чего угодно
так точно, потому прямой доступ должен оставаться в простых случаях
опять же приходим к тому, что сообщения не обеспечивают сами по себе "сокрытие данных". Это по факту отказ от сообщения, чтобы обеспечить "сокрытие данных".
> опять же приходим к тому, что сообщения не обеспечивают сами по себе "сокрытие данных" А с чего сообщения вообще должны это обеспечивать. Это сообщение. Для передачи данных. Представь себе передачу данных между сервисами по HTTP. Или между библиотеками по WinAPI и мессаджам. Приватный стейт никак не раскрывается, но необходимые для передачи данные вполне спокойно передаются. Если ты передаёшь всё подряд и принимаешь всё подряд, то это скорее ССЗБ.
> Это по факту отказ от сообщения, чтобы обеспечить "сокрытие данных" Что твой код будет делать, если ему прилетит некорректное сообщение?
ну просто @Ivan_Leshchov утверждал это выше. Дискуссия с ним об этом.
могу и раскрывать стейт, REST собственно о раскрытии и передаче стейтов )
Приватный стейт? Где об этом относительно REST'а почитать можно?
REST о стейтах, что имплементируешь то и будет, хочешь приватные, хочешь публичные
о стейтах представления
не есть, а могут быть, если кто-то сделает )
так, ну задал я правила валидации и формат. Разрешил всё что угодно. Миксед поставил. См. выше пример с сеттером
сокрытие не означает, что ты не знаешь, что внутри в конце концов, если это твой проект и у тебя есть отладчик, то ты всегда знаешь, что внутри просто система спроектирована как набор ч0рных ящиков, чтобы просачивания лишнего не происходило и чтобы можно было тестировать отдельные ч0рные ящики
Вот когда ты сам это сделал, тогда сам и убил инкапсуляцию. Точно так же, как когда сам сделал поле публичным.
и? передают представления ресурса. ресурс и есть стейт
публичность поля не нарушает инкапсуляцию
Ну вот. А представление ресурса делаешь ты, что уже исключает какой-лобо приватный стейт.
Подробнее?
Сокрытие нарушает, инкапсуляцию нет
инкапсуляция это про high cohesion
Сокрытие не есть частью инкапсуляции? Как мы можем скрыть детали реализации, когда они публичны?
Объеденить методы можно и с публичными полями
инкапсуляция - не сокрытие, а сбор всего в одном месте
инкапсуляция может быть без сокрытия, как делать сокрытие без инкапсуляции - хз
Инкапсуляция говорит про расположение поведения внутри объекта
Кроме объединения нужно ещё детали реализации скрыть, что есть частью инкапсуляции
не нужно и не есть )
инкапсуляция - это помещение разнородных штук - кода и данных, в одну капсулу
Откуда определение?
В той же вики про это: В сообществе C++ или Java принято рассматривать инкапсуляцию без сокрытия как неполноценную. Однако, некоторые языки (например, Smalltalk, Python) реализуют инкапсуляцию, но не предусматривают возможности сокрытия в принципе. Другие (Standard ML, OCaml) жёстко разделяют эти понятия как ортогональные и предоставляют их в семантически различном виде (см. сокрытие в языке модулей ML).
Вики я так себе доверяю... Как минимум русской.
Тут если что — русскоязычный канал
А при чем тут это? Речь была о конкретном источнике и его надежности
Тогда поделитесь источником, которому доверяете
Словарь иностранных слов.- 11-е изд., стереотип.- М.:Рус.яз., 1984.-608 с. Философский словарь/Под ред. И.Т.Фролова.- 4-е изд.-М.: Политиздат, 1981. - 445 с
Речь была о его надежности с акцентом на язык... я про этот акцент и написал
Это не на язык акцент, а на часть вики. Не более. Русская вики куда менее надежная, чем англоязычная.
чо перпендикулярные то? какие свойства сокрытия проявляются вне инкапсуляции?
Ну забавно
Чем русскоязычная отличается от англ как не языком? :)
Содержимым, которое в русской местами вообще противоположное англоязычной.
Обсуждают сегодня