Pytania otagowane jako immutability

2
Czy naprawdę możemy zastosować niezmienność w OOP bez utraty wszystkich kluczowych funkcji OOP?
Widzę korzyści płynące z uczynienia obiektów w moim programie niezmiennymi. Kiedy naprawdę głęboko zastanawiam się nad dobrym projektem mojej aplikacji, często naturalnie dochodzę do tego, że wiele moich obiektów jest niezmiennych. Często dochodzi do tego, że chciałbym, aby wszystkie moje obiekty były niezmienne. To pytanie dotyczy tego samego pomysłu, ale …

2
Obejście dotyczące wdrażania operacji na podwójnie połączonych lub cyklicznych strukturach danych w językach z danymi niezmiennymi
Chciałbym dowiedzieć się, jak tworzyć wykresy i wykonywać na nich pewne lokalne operacje w Haskell, ale pytanie nie jest specyficzne dla Haskell i zamiast wykresów możemy rozważyć podwójnie połączone listy. Pytanie: Jaki byłby idiomatyczny lub zalecany sposób wdrożenia podwójnie powiązanej listy (lub innej podwójnie powiązanej lub okrągłej struktury danych) i …

4
Czy zagwarantowanie niezmienności jest uzasadnieniem ujawnienia pola zamiast właściwości?
Ogólne wskazówki dla C # to zawsze używać właściwości w polu publicznym. Ma to sens - wystawiając pole, ujawniasz wiele szczegółów implementacji. Za pomocą właściwości hermetyzujesz ten szczegół, aby był ukryty przed użyciem kodu, a zmiany implementacyjne są oddzielone od zmian interfejsu. Zastanawiam się jednak, czy czasami występuje ważny wyjątek …

6
co może pójść nie tak w kontekście programowania funkcjonalnego, jeśli mój obiekt jest zmienny?
Widzę korzyści wynikające ze stosowania obiektów mutowalnych i niezmiennych, takich jak obiekty niezmienne, które zabierają wiele trudnych do rozwiązania problemów w programowaniu wielowątkowym ze względu na stan współdzielenia i zapisu. Wręcz przeciwnie, zmienne obiekty pomagają radzić sobie z tożsamością obiektu, zamiast tworzyć nowe kopie za każdym razem, a tym samym …


3
Niezmienne struktury i głęboka hierarchia kompozycji
Zajmuję się tworzeniem aplikacji GUI, intensywnie pracującej z grafiką - na przykład możesz myśleć o niej jako edytorze wektorów. Bardzo kuszące jest uczynienie wszystkich struktur danych niezmiennymi - tak, że prawie bez wysiłku mogę cofnąć / powtórzyć, skopiować / wkleić i wiele innych rzeczy. Dla uproszczenia skorzystam z następującego przykładu …
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.