Публикации по теме 'immutability'


Неизменяемые объекты в Java с использованием шаблона Builder с функциональным интерфейсом
Неизменяемые объекты в Java с использованием шаблона Builder с функциональным интерфейсом Почему важны неизменяемые объекты Неизменяемые объекты в Java — это объекты, состояния которых нельзя изменить после создания. Этот атрибут неизменности дает несколько преимуществ: Потокобезопасность. Неизменяемые объекты по своей природе потокобезопасны, поскольку их состояние не может измениться после создания. Это делает их подходящими для многопоточных сред, где важны синхронизация и..

Оптимизация крупномасштабных табличных данных и решение проблем с мутациями
В прошлом году я работал с React, в основном создавая веб-приложение для управления проектами в реальном времени (даже будучи бэкенд-разработчиком, я думал, что важно помочь команде решить эту проблему). Наше приложение использует нашу таблицу , которая является нашей основной функцией , и с тех пор мы пытаемся оптимизировать скорость обновлений (используя оптимистическое обновление) и виртуализацию, но это было нелегко. Когда мы говорим о нашей Таблице , это не просто таблица, это..

В Python все является объектом: изменяемые и неизменяемые типы данных
Вступление Python - это интерпретируемый язык программирования высокого уровня, и все является объектом от целого числа, которое вы определяете, простой строки, которую вы отображаете, до персонализированного класса, который вы создаете. Другими словами, все, что вы определяете как экземпляр класса и переменных, - это просто «имена» или «метки», которые мы используем для вызова этих экземпляров. Чтобы узнать причину этого подхода «все является объектом», вот цитата Гвидо Ван Россума..

Вопросы по теме 'immutability'

Требуется ли блокировка с ленивой инициализацией глубоко неизменяемого типа?
Если у меня есть глубоко неизменяемый тип (все члены доступны только для чтения, а если они являются членами ссылочного типа, то они также относятся к объектам, которые являются глубоко неизменяемыми). Я хотел бы реализовать ленивое...
2380 просмотров
schedule 24.04.2022

Является ли BigInteger неизменным или нет?
В .NET 4 beta 2 появилось новое пространство имен Numerics с struct BigInteger . В документации указано, что это неизменяемый тип, как я и ожидал. Но меня немного смущает оператор постинкремента ( ++ ). Это определенно, кажется, мутирует...
1668 просмотров
schedule 11.06.2022

Неизменность и гибкость - плохая смесь?
В моем небольшом игровом фреймворке, созданном с нуля, я определил класс под названием ThreeDPoint, который несет набор координат x, y и z для отслеживания моих игровых объектов, называемых Актерами. Я также использую этот класс для создания векторов...
592 просмотров

Изменяемый класс как дочерний элемент неизменяемого класса
Я хочу иметь такие неизменяемые объекты Java (сильно упрощенные): class Immutable { protected String name; public Immutable(String name) { this.name = name; } public String getName() { return name; } }...
4463 просмотров
schedule 16.04.2024

Как мне переписать список, если его типы данных неизменяемы?
Я привыкаю использовать списки для инициализации моего приложения. Теперь я хочу сохранить состояние приложения обратно в список, используемый для инициализации приложения, и я застрял. При запуске приложения я загружаю список в неизменяемый...
585 просмотров
schedule 09.09.2023

Почему Microsoft не рекомендует использовать поля только для чтения с изменяемыми значениями?
В Руководстве по проектированию для разработки библиотек классов Microsoft говорится: Не назначайте экземпляры изменяемых типов полям, доступным только для чтения. Объекты, созданные с использованием изменяемого типа, могут быть...
3053 просмотров
schedule 01.07.2022

Должны ли поля быть явно окончательными, чтобы иметь правильный неизменяемый объект?
Вы часто читали о неизменяемых объектах, требующих неизменяемости конечных полей в Java. Так ли это на самом деле, или достаточно просто не иметь общедоступной изменчивости и фактически не изменять состояние? Например, если у вас есть неизменяемый...
330 просмотров
schedule 24.09.2022

С# удалить пробел из переменной
Моя переменная выглядит так: name = "Lola "; // notice the whitespace Как я могу удалить пробел в конце, чтобы оставить только «Лола»? Всем спасибо, но .Trim() у меня не работает. Я прочитал текст из...
3203 просмотров
schedule 20.12.2022

Неизменяемость после внедрения зависимостей, инициализация
Я хотел бы иметь возможность указать, что переменные-члены объекта являются неизменяемыми после того, как объект был «инициализирован», что для меня означает после того, как он был введен с любыми зависимостями и выполнил любые другие операции...
4045 просмотров

Почему объект System.String может не кэшировать свой хеш-код?
Взгляд на исходный код для string.GetHashCode с использованием Reflector показывает следующее (для mscorlib.dll версии 4.0): public override unsafe int GetHashCode() { fixed (char* str = ((char*) this)) { char* chPtr = str;...
3321 просмотров

F# Неизменяемая структура данных окна переменного размера
Ниже у меня есть описание структуры данных, которая мне нужна, и я хочу реализовать ее, используя неизменяемые структуры данных. Я пытаюсь определить... существует ли существующая структура данных, которая будет поддерживать то, что я здесь пытаюсь...
239 просмотров
schedule 10.02.2023

Каков наилучший способ представления неизменяемого списка в .NET?
Недавно я начал использовать F# для «настоящей работы» и вновь открыл для себя красоту неизменяемых структур данных, таких как размеченные объединения и записи в F#. Я также обнаружил, что их довольно просто использовать из C#, особенно потому, что...
1134 просмотров
schedule 03.05.2022

Является ли это действительной реализацией Java неизменяемого класса и шаблона Builder?
Построитель реализует Cloneable и переопределяет clone(), и вместо копирования каждого поля построителя неизменяемый класс сохраняет частный клон построителя. Это упрощает возврат нового компоновщика и создание слегка измененных копий неизменяемого...
1622 просмотров
schedule 02.10.2023

Контракт Equals () для .NET Dictionary / IDictionary vs контракт equals () для Java Map
Ностальгируя по Collections.unmodifiableMap() , я реализовал оболочку IDictionary только для чтения на основе это обсуждение , и мой модульный тест быстро натолкнулся на проблему: Assert.AreEqual (backingDictionary, readOnlyDictionary);...
1806 просмотров
schedule 13.12.2022

.NET ORM, объекты неизменяемых значений, структуры, конструкторы по умолчанию и свойства только для чтения
Я только начинаю работать с .NET ORM до такой степени, что даже не решил между Entity Framework и NHibernate. Но в обоих случаях я сталкиваюсь с проблемой, заключающейся в том, что они, кажется, хотят, чтобы я различными способами нарушил целостность...
612 просмотров

Действительно ли чисто функциональные языки гарантируют неизменность?
На чисто функциональном языке нельзя было еще определить оператор «присваивания», скажем «‹ - », так, чтобы команда, скажем,« i ‹- 3», вместо прямого присвоения неизменяемой переменной i, создавала копию всего текущего стека вызовов, за исключением...
691 просмотров

Язык D ; структуры, неизменяемые данные и странная ошибка
Я изучаю язык D. Моя первая попытка - это простой 2d-вектор, который я могу складывать, вычитать, скалярное произведение и т. Д. У меня есть эта ошибка, когда я пытаюсь скомпилировать: Ошибка : Ошибка: (Vector2d __ctmp1245 =...
365 просмотров
schedule 13.02.2022

Есть ли в Scala синтаксис обновления записей для создания модифицированных клонов неизменяемых структур данных?
В Mercury я могу использовать: A = B^some_field := SomeValue чтобы связать A с копией B, за исключением того, что some_field является SomeValue вместо того, что было в B. Я считаю, что эквивалент Haskell выглядит примерно так: a = b {...
1698 просмотров
schedule 18.04.2022

видимость неизменяемого объекта после публикации
У меня есть неизменяемый объект, который заключен в классе и является глобальным состоянием. Допустим, у меня есть 2 потока, которые получают это состояние, выполняют с ним myMethod(state). И скажем, thread1 финиширует первым. Он изменяет...
643 просмотров
schedule 19.05.2023

Что означает неизменяемый и только для чтения в С#?
Правильно ли, что невозможно изменить значение неизменяемого объекта? У меня есть два сценария относительно readonly , которые я хочу понять: Что, если у меня есть коллекция и я помечаю ее как readonly , как показано ниже. Могу я еще...
11696 просмотров
schedule 05.01.2023