Pytania oznaczone «immutability»

43
Pełna niezmienność i programowanie obiektowe

W większości języków OOP obiekty są ogólnie modyfikowalne z ograniczonym zestawem wyjątków (takich jak np. Krotki i ciągi w pythonie). W większości języków funkcjonalnych dane są niezmienne. Zarówno zmienne, jak i niezmienne obiekty wnoszą własną listę zalet i wad. Istnieją języki, które próbują...

28
Różnica między niezmienną a stałą

Często widziałem warunki immutablei constużywałem zamiennie. Jednak z mojego (niewielkiego) doświadczenia wynika, że ​​te dwie rzeczy bardzo różnią się między sobą „umową”, którą zawierają w kodzie: Immutable sprawia, że ​​kontrakt, którego ten obiekt się nie zmieni (np. Krotki Python, łańcuchy...

27
Nie deklaruj interfejsów dla obiektów niezmiennych

To pytanie zostało przeniesione z Code Review Stack Exchange, ponieważ można na nie odpowiedzieć na Software Engineering Stack Exchange. Migrował 6 lat temu . Nie deklaruj interfejsów dla obiektów niezmiennych [EDYCJA] Gdy przedmiotowe obiekty reprezentują obiekty...

26
Sprzyjanie niezmienności w projektowaniu baz danych

Jednym z elementów efektywnej Javy Joshua Blocha jest przekonanie, że klasy powinny pozwalać na mutację instancji jak najmniej, a najlepiej wcale. Często dane obiektu są utrwalane w bazie danych jakiejkolwiek formy. Doprowadziło mnie to do myślenia o idei niezmienności w bazie danych, szczególnie...

18
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...

17
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...