The Ant
Павел
Павел
Иммутабельность на уровне поведения, а не возмжности языка
Павел
Потому как ты верно сказал, в том же питоне нет приватов.
The Ant
воощето есть
Алексей
в JS нет приватов
The Ant
суть в том, что в языках, которые были приведены в пример любая хрень является объектом
Павел
воощето есть
Вроде на увроне конвенции, не более. Разве нет? Ща бегло прогуглил
The Ant
и простые скаляры это тоже объекты, объекты-значения
The Ant
The Ant
они делают приватными свойства )
Павел
Павел
Хз может что-то изменилось
Павел
Но не думаю, слишком сильное изменение
Vlad
а зачем вообще приваты?) как и протектед?
Павел
Vlad
как инкапсуляция связано с спецификаторами доступа?
Павел
А без спецификаторов - можем
Vlad
ну так работай только с публичным api
Vlad
конрактов не хватает чтоли?
The Ant
Павел
Ну я тоже хз, я в питоне почти никак, так просто доку читал пару лет назад. В общем даже в той доке что ты скинул написано, что такого нет в питоне. Почему у тебя сыплет - я хз, мб для даблДандера по другому надо обращаться или рили что-то поменялось
The Ant
ну там есть прокладка какая-то в виде прокси или хз чо, позволяет получить доступ к привату
The Ant
А не, вот такое. добавление имени класса префиксом. Говно короче какое-то.
Павел
The Ant
ну по сути, оно как бы есть )
Павел
The Ant
приват шрёдингера 😂
The Ant
The Ant
помощника для игры писал себе, чтобы кнопку жал когда вылетает значек, для усиления умений 😄
было весело
The Ant
дело не в прикольности. На нем пездец сколько всего написано
The Ant
особено под нейронки всякие
Павел
Павел
и десктоп, и нейронки, и биг дата
Павел
Обширное применение
Юра
Короче я понял
Юра
const a = 2
Это дто
let a = 2
Это value object
Юра
Юра
У него есть свойство age
Юра
Почему б... при изменении возраста я должен нового человека создавать
Юра
Я согласен с тем что я в 5 лет и я в 30 лет слегка разные люди
Юра
Но если изменение всего один год
Юра
Имутабельность крута в основном при многопоточности
Юра
Но как обычно все дошло до абсурда где в реакте изменяют локальный стейт компонента через создание нового массива
Юра
И никто не смог мне объяснить нафига
Юра
Проблема в том что мгогое перекочевало к нам из других языков, там где это было реально необходимо, а у нас вопросики возникают. Чтобы понять например что такое POJO, надо понимать что такое Java beans, и зачем стали нужны эти поджо
Юра
Если это какой-то хаскель, где все крутится вокруг имутабльного стейта, то там понятно зачем имутабельность. А в других языках опять же вопросики
Юра
В дарте круто сдедали иммутабельные дто через кодоген
Юра
Ты просто пишешь свойства класса и получаешь в итоге готовый класс со всякими with... методами
Юра
В пхп кстати могли бы тоже сделать инструмент по типу dart build и генерить много всего полезного
The Ant
Юра
Ага и все забывают как-то что где-то там существует гарбадж коллектор которвй вынужден все эти массивы еще и трекать и убивать
Юра
А потом.. почему к меня фризы в UI? Да потому что гц запустился
Alexey
откуда это правило?
Да даже из названия это понятно. Объект-значенте. Другое значение - другой объект.
The Ant
The Ant
и пример ваш с Money - говно, за уши притянули.
Павел
А человек
Ну короче вам все ещё расписали) человек entity, но зависит он контекста, но мало представляю контекст, где человек vo у которого есть года.
Павел
Походу тут все ответили)
Юра
Юра
Ладно надо расчехлить книгу по ddd
Юра
И разучится кодить потому что начнешь постоянно думать что есть дто а что домен а что валью обджект. Как разучится ходить если начать думать о том как ходить )
Sergey
Любая денежная бумажка имеет код уникальный
Об этом и речь, в некоторых контекстах, например если мы автоматизируем систему гознака, каждая купюра имеет уникальный идентификатор и поэтому является сущностью, а не VO. Но в большинстве случаев нам этот идентификатор не нужен, а важна только валюта и сумма, тогда это VO.
Юра
Да понял я понял
Юра
У меня другой вопрос ьс имутабельностью, более практичный
Юра
Допустим у нас есть какой-то контейнер который хранит иммутабельные дто
Юра
И другой какой-то контейнер
Юра
Хотя наверное дто и не должны нигде хранится
Юра
Короче вопрос в том как обновить все иммутабельные объекты