«immutability» 태그된 질문

2
모든 주요 OOP 기능을 잃지 않고 OOP에서 불변성을 실제로 사용할 수 있습니까?
프로그램의 객체를 변경할 수없는 이점이 있습니다. 내 응용 프로그램에 대한 좋은 디자인에 대해 깊이 생각할 때 종종 불변의 많은 객체에 자연스럽게 도달합니다. 종종 모든 객체를 불변 으로 만들고 싶습니다 . 이 질문 은 동일한 아이디어를 다루지 만 불변성에 대한 좋은 접근 방법과 실제로 사용하는 시점에 대한 대답은 없습니다. 좋은 불변 …

2
변경할 수없는 데이터가있는 언어로 이중 연결 또는 순환 데이터 구조에 대한 작업을 구현하기위한 해결 방법
Haskell에서 그래프를 만들고 일부 로컬 작업을 수행하는 방법을 배우고 싶지만 Haskell에만 국한된 문제는 아니며 그래프 대신 이중 연결 목록을 고려할 수 있습니다. 질문 : 이중 연결 목록 (또는 다른 이중 연결 또는 순환 데이터 구조)과 불변 데이터 구조 (Haskell, Clojure 등)를 주로지지하고 옹호하는 언어로 작업을 수행하는 관용적이거나 권장되는 방법은 무엇입니까 …

4
불변성을 보장하는 것이 속성 대신 필드를 노출시키는 것에 대한 정당성입니까?
C #에 대한 일반적인 지침은 항상 공개 필드를 통해 속성을 사용하는 것입니다. 필드를 노출하면 구현 세부 사항을 많이 노출하게됩니다. 속성을 사용하면 해당 세부 정보를 캡슐화하여 코드를 사용하지 못하도록 숨기고 구현 변경 내용은 인터페이스 변경 내용과 분리됩니다. 그러나 readonly키워드를 다룰 때이 규칙에 유효한 예외가 있는지 궁금합니다 . 이 키워드를 퍼블릭 필드에 …

6
객체가 변경 가능한 경우 함수형 프로그래밍의 맥락에서 무엇이 잘못 될 수 있습니까?
불변 객체와 같은 불변 객체와 불변 객체의 이점은 공유 및 쓰기 가능한 상태로 인해 다중 스레드 프로그래밍 문제를 해결하는 데 많은 어려움을 겪는 것을 볼 수 있습니다. 반대로, 가변 객체는 매번 새로운 사본을 생성하지 않고 객체의 신원을 처리하는 데 도움이되므로 특히 큰 객체의 성능 및 메모리 사용량을 향상시킵니다. 내가 이해하려고하는 …


3
불변 구조 및 심층 구성 계층
GUI 응용 프로그램을 개발 중이며 그래픽을 많이 사용하고 있습니다. 예제를 위해이를 벡터 편집기로 생각할 수 있습니다. 모든 데이터 구조를 변경 불가능하게 만드는 것은 매우 유혹적입니다. 따라서 실행 취소 / 다시 실행, 복사 / 붙여 넣기 및 기타 많은 작업을 거의 노력없이 수행 할 수 있습니다. 간단하게하기 위해 다음 예제를 사용합니다. …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.