Pytania otagowane jako immutability

5
Jak modelować odwołanie kołowe między niezmiennymi obiektami w C #?
W poniższym przykładzie kodu mamy klasę dla niezmiennych obiektów reprezentujących pokój. Północ, południe, wschód i zachód reprezentują wyjścia do innych pomieszczeń. 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 = eastExit; …

1
Zużycie pamięci redux [zamknięte]
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było tematem dotyczącym wymiany stosów inżynierii oprogramowania. Zamknięte 3 lata temu . Struktura Redux faworyzuje paradygmat stanu niezmiennego / funkcji czystej, który promuje tworzenie nowego stanu z poprzedniego stanu pod względem …

8
Jak decyduje się, czy typ obiektu danych powinien być niezmienny?
Uwielbiam niezmienny „wzorzec” ze względu na jego mocne strony, aw przeszłości uważałem za korzystne projektowanie systemów z niezmiennymi typami danych (niektóre, większość lub nawet wszystkie). Często kiedy to robię, piszę mniej błędów, a debugowanie jest znacznie łatwiejsze. Jednak moi rówieśnicy w ogóle unikają niezmienności. Nie są wcale niedoświadczeni (z dala …

8
Czy niezmienne obiekty i DDD idą w parze?
Rozważ system, który używa DDD (a także: każdy system, który używa ORM). Realistycznym celem każdego systemu, w prawie każdym przypadku użycia, będzie manipulowanie tymi obiektami domeny. W przeciwnym razie nie będzie prawdziwego efektu ani celu. Modyfikacja niezmiennego obiektu spowoduje, że wygeneruje on nowy rekord po utrwaleniu obiektu, co spowoduje ogromne …

4
Czy istnieje konkretna strategia projektowania, która może być zastosowana do rozwiązania większości problemów z kurczakiem i jajami przy użyciu niezmiennych obiektów?
Pochodzę z OOP (Java), uczę się Scali na własną rękę. Chociaż łatwo dostrzegam zalety korzystania z niezmiennych obiektów indywidualnie, trudno mi jest dostrzec, jak można zaprojektować taką aplikację. Podam przykład: Powiedzmy, że mam przedmioty reprezentujące „materiały” i ich właściwości (projektuję grę, więc naprawdę mam ten problem), takie jak woda i …

7
W którym momencie niezmienne klasy stają się ciężarem?
Przy projektowaniu klas do przechowywania modelu danych przeczytałem, że przydatne może być tworzenie niezmiennych obiektów, ale w którym momencie ciężar listy parametrów konstruktora i głębokich kopii staje się zbyt duży i trzeba zrezygnować z niezmiennego ograniczenia? Na przykład, tutaj jest niezmienna klasa reprezentująca nazwaną rzecz (używam składni C #, ale …

2
Jak mam odnotować, że klasa jest niezmienna w Javie?
Ostatnio natknąłem się na to, jak przydatne są niezmienne obiekty i że np. Jeśli przekazujesz elementy do konstruktora, a twoja klasa powinna być niezmienna, musisz skopiować te elementy, jeśli same nie są niezmienne. Wymaga to dużej ilości sprawdzania lub wiedzy na temat mojego projektu, ponieważ jeśli mam public A(B foo) …

4
Czy paradygmat funkcjonalny nie jest zbyt rozbieżny z podstawowym sprzętem, aby był ogólnie wydajny?
Inspirowane pytaniem z SO: /programming/6623391/how-to-gain-control-of-a-5gb-heap-in-haskell To może być długa debata na temat licznych zalet i wad FP, ale na razie chciałbym zawęzić zakres podstawowej wydajności FP na nowoczesnym sprzęcie. Praca dyplomowa: Paradygmat funkcjonalny zakłada niezmienność i bezpaństwowość (?), Ale sprzęt, na którym uruchamiamy programy funkcjonalne, jest stanowymi skończonymi automatami. Tłumaczenie …

1
Dlaczego dołączanie do listy w Scali ma złożoność czasową O (n)?
Właśnie przeczytałem, że czas wykonania operacji dołączania dla List(: +) rośnie liniowo wraz z rozmiarem pliku List. Dołączanie do Listwydaje się dość powszechną operacją. Dlaczego idiomatycznym sposobem na to jest przygotowanie komponentów, a następnie odwrócenie listy? Nie może to być również błąd projektu, ponieważ implementacja może zostać zmieniona w dowolnym …

7
Poruszanie się po głowie Niezmienność
Jestem nowy w programowaniu obiektowym, a jedną z koncepcji, którą zajęło mi trochę czasu, jest niezmienność. Myślę, że żarówka zgasła ostatniej nocy, ale chcę zweryfikować: Kiedy napotykam stwierdzenia, że ​​niezmiennego obiektu nie można zmienić, jestem zdziwiony, ponieważ mogę na przykład wykonać następujące czynności: NSString *myName = @"Bob"; myName = @"Mike"; …

4
Czy podczas programowania w stylu funkcjonalnym masz stan pojedynczej aplikacji, który splatasz z logiką aplikacji?
Jak zbudować system, który ma wszystkie następujące elementy : Używanie czystych funkcji z niezmiennymi obiektami. Przekaż tylko dane funkcji, których potrzebuje, nie więcej (tj. Nie ma dużego obiektu stanu aplikacji) Unikaj posiadania zbyt wielu argumentów do funkcji. Unikaj konstruowania nowych obiektów tylko w celu pakowania i rozpakowywania parametrów do funkcji, …

3
Czy można skutecznie reprezentować mutację grafu obiektowego w niezmiennych stanach?
Ćwiczę używanie niezmiennego obiektu w C ++. Moim osobistym celem jest przedstawienie ogólnego wykresu obiektowego (w stercie) z sekwencją niezmiennych wykresów. Samo tworzenie wykresu z wieloma wersjami nie jest takie trudne. Problemem jest wydajność. Wersje brute-force wymagają pełnej kopii wykresu, co było nie do przyjęcia. Próbowałem udostępnić niezmienione węzły. Ale …


4
Programowanie funkcjonalne - niezmienność
Próbuję zrozumieć, jak radzić sobie z niezmiennymi danymi w FP (konkretnie w F #, ale inne FP też są w porządku) i przełamać stary nawyk pełnego myślenia o stanie (styl OOP). Część wybranej odpowiedzi na pytanie tutaj powtórzyło moje poszukiwanie wszelkich zapisów dotyczących problemów, które są rozwiązywane przez stanowe reprezentacje …

6
Jakie są wady niezmiennych typów?
Widzę, że używam coraz więcej niezmiennych typów, gdy nie oczekuje się, że instancje klasy zostaną zmienione . Wymaga więcej pracy (patrz przykład poniżej), ale ułatwia korzystanie z typów w środowisku wielowątkowym. Jednocześnie rzadko widzę niezmienne typy w innych aplikacjach, nawet jeśli zmienność nie przyniosłaby nikomu korzyści. Pytanie: Dlaczego niezmienne typy …
12 c#  immutability 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.