Свързани публикации 'immutability'


Безболезнена неизменност
Компромисно сравнение на Immutable.js, Seamless-immutable и Timm TL; DR С популярността на Immutable.js и Seamless-immutable, която преминава през покрива, кой се нуждае от още една библиотека за неизменност? Може би вие, ако не искате да заключите достъпа за четене до вашите данни чрез чужд API, се нуждаете от разумна производителност при запис и лесен за използване API . Точно това е балансът, който Timm се опитва да постигне. Прочетохме публикациите , изгледахме..

Защо НИКОГА не МУТИРАМЕ СЪСТОЯНИЕ в React Javascript
Винаги сме приемали да не променяме директно състоянието в React, било то локално състояние в рамките на компонентите или редукционното състояние по отношение на редукторите. Мислили ли сте за това, защо е така? Тази статия ще се опита да подобри знанията ни защо мутацията на състояние е табу, ако не искате да имате код с грешки в производството. Първо, нека разберем някои основни понятия относно типовете данни на Javascript. Примитивни типове данни: Има 5 примитивни типа..

Защо и как низът е неизменен в C#
Низове и неизменност В света на програмирането низ е масив от символи System.Char, които, когато са събрани заедно, представляват текст. В езика за програмиране C# можете да декларирате низ и да отпечатате стойността му, както следва: string str = "Hello World"; Console.WriteLine(str); //This will print out "Hello World" to the console. Когато създадете низ, той е неизменен . Това означава, че е само за четене. Когато нещо е неизменно или само за четене, това означава, че не..

Неизменни структури от данни — RRB дървета (част-1)
За функционалното програмиране и неизменността О, колко прост беше светът преди, имахме единични процесори в компютъра, интернет не роди YouTube, Facebook или Instagram и софтуерът беше прост поради ограниченията на хардуера. Уви, не можеше да продължи вечно! Около 2019 г. програмите и софтуерът са проникнали във всичко, от ръчни часовници до самоуправляващи се автомобили. Ограниченията на хардуера бяха заобиколени с помощта на множество процесори и нуждата ни да създаваме..

Функционално програмиране: Избягвайте Споделено състояние
Какво е споделено състояние? Споделеното състояние е променлива, обект, свойство на обект или пространство в паметта, което може да бъде достъпно от повече от една функция. Какъв е проблемът със споделеното състояние? Случайната промяна на стойността на променлива, която се споделя в цялата кодова база, може да доведе до потенциални и сложни грешки. Такива грешки са трудни за отстраняване и разрешаване. Вижте примера по-долу Да, лесно е, но е скъпо Знам, че е..

Използване на Immer с React: прости решения за неизменни състояния
Защо Immer работи добре за неизменност на състоянието на React? В React използването на състояние Imutable позволява бързо и евтино сравнение на дървото на състоянието преди и след промяна. В резултат на това всеки компонент решава дали да се изобрази повторно или не, преди да извърши каквито и да е скъпи DOM операции. И се надявам, че вече знаете това; JavaScript е променлив и ние трябва сами да внедрим неизменността. Популярните библиотеки за управление на състоянието като..

Свързани въпроси 'immutability'

Десериализирайте неизменни класове с интерфейсен параметър в конструктора с помощта на json.net [затворено]
Искам да създам някои неизменни класове с Json.net, но срещнах съобщение за грешка: Не можах да създам екземпляр от тип SolutionName.InterfaceClassName.Type е интерфейс или абстрактен клас и не може да бъде създаден. Проблемът: Имам неизменен клас...
137 изгледи

Безопасен ли е потокът за получаване/задаване на низ?
Да кажем, че имам следното, public class Foo{ private String bar; public String getBar(){ return bar; } public void setBar(String bar){ this.bar = bar; } } Тези методи автоматично ли са безопасни за нишки...
14511 изгледи
schedule 02.10.2022

Неизменни обекти и немодифицируеми колекции
С неизменен обект, къде е правилно да се обвие съдържаща се колекция като непроменяема? Виждам 3 варианта: Във фабриката на неизменния обект: public class ImmutableFactory { public Immutable build(){ List<Integer> values =...
2971 изгледи

Защо типовете числа в C# са неизменни?
Защо int s и double s са неизменни? Каква е целта на връщането на нов обект всеки път, когато искате да промените стойността? Причината да попитам е, че правя клас: BoundedInt , който има стойност и горна и долна граница. Така че се чудех:...
7935 изгледи
schedule 06.11.2023

Mmutable обекти в хеш колекции в Java?
Възможен дубликат: променливите хешмап ключове ли са опасна практика? Какво се случва, ако променящите се обекти в hashtable се модифицират, без да се използва нито един от API на hashmap Обектът в hashmap променя ли се? . Изгубва...
55 изгледи
schedule 06.12.2022

Каква роля играе неизменността на низове в обяснението на препратките към низове на разработчиците?
Под една или друга форма често срещам следния въпрос (поставен тук в псевдокод): String myString = "Hello" someObject.stringProperty = myString myString = "World" Защо someObject.stringProperty сега не е равно на "World"? Изглежда...
216 изгледи

Трябва ли да хвърля изключение при опит за мутация на неизменен клас? Ако е така, кое изключение?
Искам да предупредя разработчика, когато се опитва да промени неизменен обект. Неизменният обект всъщност е разширение на променлив обект и отменя сетерите на споменатия обект, за да го направи неизменен. Променлив базов клас: Vector3 public...
2672 изгледи
schedule 15.10.2022

SML-функционално програмиране
Искам да напиша код в SML, който имитира този на C++ като i=i+1; or i++ Накратко, искам да преброя колко пъти се изпълнява цикълът (рекурсия), когато изразът if е верен. Изяснявайки го допълнително. Моят проблемен код изглежда...
160 изгледи

Променлив android.os.Environment.DIRECTORY_WHATEVER?
Вижте в master: https://github.com/android/platform_frameworks_base/blob/master/core/java/android/os/Environment.java#L419 Защо тези са променливи? Какво означава? Какъв е случаят на употреба?
33 изгледи
schedule 26.11.2022

Когато манипулирате неизменни структури от данни, каква е разликата между асоциацията на Clojure и лещите на Haskell?
Трябва да манипулирам и модифицирам дълбоко вложени неизменни колекции (карти и списъци) и бих искал да разбера по-добре различните подходи. Тези две библиотеки решават повече или по-малко един и същ проблем, нали? По какво се различават, за какви...
1877 изгледи

Не декларирайте променливи референтни типове само за четене - защо не?
Четох този въпрос и няколко други отговора и докато разбирам разликата между промяната на препратката и промяната на състоянието на текущия екземпляр, не съм сигурен защо това означава, че не трябва да го маркирам само за четене. Дали това е така,...
2420 изгледи
schedule 04.12.2023

Неизменен обект с променлива член на ArrayList - защо тази променлива може да бъде променена?
Имам един клас с различни членски променливи. Има конструктор и има методи за получаване, но няма методи за настройка. Всъщност този обект трябва да бъде неизменен. public class Example { private ArrayList<String> list; } Сега...
38737 изгледи

Свойство за неизменност в java
Знам, че когато става въпрос за предаване на обекти в java, референцията на обекта се предава като стойност. Така че всички промени, които правите в този обект, се отразяват и в оригиналния обект. За да избегнем това, ние използваме свойството...
3115 изгледи
schedule 14.12.2023

Pandas: Променете определено ниво на Multiindex
Имам рамка с данни с Multiindex и бих искал да променя едно конкретно ниво на Multiindex. Например, първото ниво може да са низове и може да искам да премахна белите интервали от това ниво на индекса: df.index.levels[1] = [x.replace(' ', '') for...
33392 изгледи
schedule 28.11.2023

Начини за сигнализиране, че API връща немодифицируема/неизменна колекция
Освен документирането (очевидно то също трябва да бъде документирано), използването на специален тип връщане (пазя се да се ограничавам до ImutableX) или потребителят да разбере по време на изпълнение, има ли някакъв друг начин да се каже на...
287 изгледи
schedule 05.12.2023

Приложете интерфейс на обект само за четене (неизменен) в C#
Целта ми е да се уверя, че в повечето сценарии обектите се използват чрез „интерфейс само за четене“, който е подмножество на пълния интерфейс. Като пример, ако използвах C++, просто щях да върна const обект. В C#, ако можех да постигна това...
4790 изгледи

Как да предотвратите промени в променлив обект в неизменен обект
Може ли някой да каже как можем да попречим на потребител да променя стойностите на променлив обект, дефиниран в неизменен клас? Пример: Имаме неизменен Student клас, който съдържа крайна препратка на Address клас, който е променлив. Искам да...
869 изгледи
schedule 25.12.2023

Python Empty Immutables Singletons ли са?
Python Empty Immutables Singletons ли са? Ако прегледате реализацията на CPython на вградените типове, ще намерите коментари за всички неизменни вградени обекти, че техните празни версии са единични. Това би имало много смисъл, тъй като Python...
595 изгледи
schedule 15.02.2024

Неизменност и презареждащи се конфигурации
Моля, обърнете внимание: Въпреки че в този въпрос се споменава Java, мисля, че в основата си това е проблем с OOP/паралелност и вероятно може да бъде отговорен от всеки със значителен опит в програмирането. Така че изграждам...
117 изгледи

Неизменност - Java, Final се изисква, ако няма настройки
Вече прочетох това за Immutable object , какви са първоначалните изисквания за създаването му. Но не ми е ясно Ако не изложим нашето field setters, should we still make the fields final , ако да защо..??
72 изгледи
schedule 20.02.2024