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

5
Як моделювати круговий довідник між незмінними об'єктами в C #?
У наступному прикладі коду ми маємо клас для незмінних об'єктів, який представляє кімнату. Північ, Південь, Схід та Захід представляють виходи в інші приміщення. public sealed class Room { public Room(string name, Room northExit, Room southExit, Room eastExit, Room westExit) { this.Name = name; this.North = northExit; this.South = southExit; this.East …

1
Споживання пам'яті Redux [закрито]
Зачинено. Це питання поза темою . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно було тематичним для обміну стеками програмного забезпечення. Закрито 3 роки тому . Рамка Redux надає перевагу незмінній парадигмі стан / чиста функція, яка сприяє створенню нового стану з попереднього стану з точки …

8
Як вирішувати, чи слід створити тип об'єкта даних таким, що є незмінним?
Мені подобається незмінна «картина» через її сильні сторони, і в минулому мені було вигідно розробити системи з непорушними типами даних (деякі, більшість чи навіть усі). Часто, коли я роблю це, мені трапляється писати менше помилок, а налагодження набагато простіше. Однак мої однолітки взагалі ухиляються від непорушного. Вони взагалі недосвідчені (далеко …

8
Чи йдуть непорушні об'єкти та DDD разом?
Розглянемо систему, яка використовує DDD (також: будь-яка система, яка використовує ORM). Суть будь-якої системи реально, майже в кожному випадку використання, полягає в маніпулюванні цими об’єктами домену. Інакше немає реального ефекту чи мети. Змінення незмінного об'єкта призведе до того, що після збереження об'єкта він генерує нову запис, що створює масовий розрив …

4
Чи існує конкретна стратегія дизайну, яка може бути застосована для вирішення більшості проблем з курячим яйцем під час використання незмінних об'єктів?
Виходячи з фону OOP (Java), я самостійно навчаюсь Scala. Хоча я легко бачу переваги використання незмінних об'єктів індивідуально, мені важко зрозуміти, як можна створити таке додаток. Наведу приклад: Скажімо, у мене є предмети, які представляють "матеріали" та їх властивості (я конструюю гру, тому я справді маю цю проблему), як вода …

7
У який момент непорушні заняття стають тягарем?
Під час проектування класів для вашої моделі даних я прочитав, що може бути корисним для створення незмінних об'єктів, але в який момент перевантаженість списків параметрів конструктора та глибоких копій стає занадто великою, і вам доведеться відмовитися від незмінного обмеження? Наприклад, тут є непорушний клас для представлення названої речі (я використовую …

2
Як слід зазначити, що клас незмінний на Java?
Нещодавно я натрапив на те, наскільки корисні незмінні об'єкти, і що, наприклад, якщо ви передаєте елементи конструктору, і ваш клас повинен бути незмінним, ви повинні скопіювати ці елементи, якщо вони самі по собі не змінюються. Для цього потрібно багато перевірки чи знань про мій проект, тому що якщо я маю …

4
Хіба функціональна парадигма не дуже розбіжна з базовим обладнанням, щоб бути загалом ефективним?
Натхненний запитанням від SO: /programming/6623391/how-to-gain-control-of-a-5gb-heap-in-haskell Це може бути довгою дискусією щодо численних переваг та недоліків FP, але поки що я хотів би звузити сферу застосування до основної ефективності FP на сучасному обладнанні. Теза: Функціональна парадигма передбачає незмінність та без громадянства (?), Але апаратне забезпечення, на якому ми запускаємо функціональні програми, …

1
Чому додавання до списку в Scala має складну часові (O) n?
Я щойно прочитав, що час виконання операції додавання для List(: +) лінійно зростає з розміром List. Звернення до Listздається схоже на досить поширену операцію. Чому ідіоматичний спосіб зробити це - попередньо допомігши компоненти, а потім змінити список? Це також не може бути помилкою дизайну, оскільки реалізація може бути змінена в …

7
Обіймати голову навколо непорушності
Я новачок в об’єктно-орієнтованому програмуванні, і одна концепція, яка займає мене час, - це незмінність. Я думаю, що лампочка згасла минулої ночі, але я хочу перевірити: Коли я стикаюся з твердженнями, що незмінний об'єкт неможливо змінити, я здивований, бо можу, наприклад, зробити наступне: NSString *myName = @"Bob"; myName = @"Mike"; …

4
Програмуючи у функціональному стилі, чи є у вас єдиний стан програми, який ви плетете за допомогою логіки програми?
Як побудувати систему, яка має все перелічене нижче : Використання чистих функцій з незмінними об'єктами. Передавайте лише дані про функції, які потрібні цій функції, не більше (тобто немає великого об'єкта стану програми) Уникайте занадто багато аргументів до функцій. Уникайте необхідності конструювання нових об'єктів лише для упаковки та розпакування параметрів до …

3
Чи можливо ефективно зображувати мутацію об'єкт-графіка з незмінними станами?
Я практикую використання незмінного об'єкта в C ++. Моя особиста мета - представити загальний графік об'єктів (в купі) із послідовністю незмінних графіків. Побудувати графік з декількома версіями не так вже й складно. Проблема - продуктивність. Версія з грубою силою потребує повної копії графіка, і це було не прийнятно. Я намагався …

4
Чи погані непорушні / без громадянства одинаки?
Останнім часом відбулася якась революція проти одинаків, але чи з ними щось не так, якщо вони без громадянства? Я знаю розмови про надмірне використання і все ... це стосується всього лише не одиноких.

4
Функціональне програмування - незмінність
Я намагаюся зрозуміти, що стосується непорушних даних у FP (зокрема, у F #, але з іншими FP також нормально) і порушувати стару звичку до повноцінного мислення (стиль OOP). Частина обраної відповіді на запитання тут ще раз підтвердила мій пошук будь-яких записів навколо проблем, які вирішуються стаціонарними представленнями в OOP з …

6
Які недоліки незмінних типів?
Я бачу себе в застосуванні все більше непорушних типів, коли екземпляри класу не будуть змінені . Це вимагає більше роботи (див. Приклад нижче), але полегшує використання типів у багатопотоковому середовищі. У той же час я рідко бачу незмінні типи в інших програмах, навіть коли незмінність нікому не принесе користі. Питання: …
12 c#  immutability 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.