Запитання з тегом «immutability»

Незмінюваність - це неможливість змінювати дані після їх створення. Натомість зміни вносяться шляхом копіювання даних. Властивість незмінних даних полягає в тому, що вони * референтно прозорі *.

7
Чому я не повинен використовувати незмінні POJO замість JavaBeans?
Зараз я впровадив кілька програм Java, поки що лише настільні програми. Я вважаю за краще використовувати незмінні об'єкти для передачі даних у програмі, замість того, щоб використовувати об'єкти з мутаторами (сетери та геттери ), які також називаються JavaBeans. Але у світі Java, здається, набагато частіше використовувати JavaBeans, і я не …

8
Незмінні об’єкти, які посилаються один на одного?
Сьогодні я намагався обернути голову незмінними предметами, які посилаються один на одного. Я дійшов висновку, що це неможливо зробити без використання ледачої оцінки, але в процесі я написав цей (на мій погляд) цікавий код. public class A { public string Name { get; private set; } public B B { …
77 c#  immutability 


5
Чи є спосіб Object.freeze () дати JavaScript?
Відповідно до документації MDNObject.freeze() : Object.freeze()Метод заморожує об'єкт: тобто, запобігає нові властивості від додавання до нього; запобігає видаленню існуючих властивостей; і запобігає зміні існуючих властивостей або їх перелічуваності, конфігурації або запису, По суті, об'єкт робиться фактично незмінним. Метод повертає заморожений об'єкт. Я очікував, що виклик заморозки на дату запобіжить змінам …

1
Перерахування діапазону ImmutableSortedDictionary за ключем
Я читав про C # ImmutableSortedDictionaryв System.Collections.Immutableі думав про те, як це застосувати у своїй програмі. Мені дуже подобаються C ++ lower_boundі upper_bound(див. Тут ), і я швидше очікував побачити щось подібне для пошуку діапазону. Однак схожі методи, здається, дивно відсутні в документації . Я щось пропускаю? Або MS справді …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.