169 похожих чатов

Но подразумевается, что если есть сеттер, то прямого доступа к

данным нет
иначе, какой смысл?

42 ответов

24 просмотра

ну вот я вызываю сеттер, параметрами указываю весь приватный стейт объекта, который отправляет сообщение. Дальше в сеттере вызываемого объекта устанавливаю весь приватный стейт вызываемого объекта. Тут неясно как сообщение обеспечило сокрытие приватного стейта 🤔 Сообщение вроде бы есть. А сокрытия приватного стейта как будто нет.

Иван-Лещёв Автор вопроса

тут надо статический анализатор подключать к мерджреквесту и чтобы в бухгалтерию сообщения шли с вычетом из зарплаты потому что выстрелить себе в ногу можно практически из чего угодно

Иван-Лещёв Автор вопроса

так точно, потому прямой доступ должен оставаться в простых случаях

опять же приходим к тому, что сообщения не обеспечивают сами по себе "сокрытие данных". Это по факту отказ от сообщения, чтобы обеспечить "сокрытие данных".

> опять же приходим к тому, что сообщения не обеспечивают сами по себе "сокрытие данных" А с чего сообщения вообще должны это обеспечивать. Это сообщение. Для передачи данных. Представь себе передачу данных между сервисами по 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 с

Речь была о его надежности с акцентом на язык... я про этот акцент и написал

Это не на язык акцент, а на часть вики. Не более. Русская вики куда менее надежная, чем англоязычная.

Иван-Лещёв Автор вопроса

чо перпендикулярные то? какие свойства сокрытия проявляются вне инкапсуляции?

Ну забавно

Чем русскоязычная отличается от англ как не языком? :)

Содержимым, которое в русской местами вообще противоположное англоязычной.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта