«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 = eastExit; this.West …

1
Redux 메모리 소비량 [닫힘]
닫은. 이 질문은 주제에 맞지 않습니다 . 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? Software Engineering Stack Exchange에 대한 주제가 되도록 질문을 업데이트하십시오 . 휴일 삼년 전에 . Redux 프레임 워크는 변경 불가능한 상태 / 순수 함수 패러다임을 선호하며, 이는 현재 조치와 관련하여 이전 상태에서 새 상태의 작성을 촉진합니다. 이 …

8
데이터 객체 유형을 불변으로 설계해야하는지 어떻게 결정합니까?
필자는 불변의 "패턴"이 장점이기 때문에 과거에는 불변의 데이터 유형 (일부, 대부분 또는 모두)을 가진 시스템을 설계하는 것이 유리하다는 것을 알게되었습니다. 종종 그렇게 할 때 버그를 적게 쓰고 디버깅이 훨씬 쉽습니다. 그러나 동료들은 일반적으로 불변에서 멀어졌습니다. 그들은 전혀 경험이 없지만 (그와는 거리가 멀지 만) 모든 객체에 대해 게터와 세터가있는 개인 멤버 …

8
불변 개체와 DDD가 함께 사용됩니까?
DDD를 사용하는 시스템 (ORM을 사용하는 모든 시스템)을 고려하십시오. 거의 모든 사용 사례에서 현실적으로 모든 시스템의 요점은 해당 도메인 객체를 조작하는 것입니다. 그렇지 않으면 실제 효과 나 목적이 없습니다. 변경 불가능한 객체를 수정하면 객체가 지속 된 후 새 레코드를 생성하여 데이터 소스에 큰 팽창을 일으 킵니다 (수정 후 이전 레코드를 삭제하지 …

4
불변 개체를 사용하는 동안 대부분의 닭과 계란 문제를 해결하기 위해 적용 할 수있는 특정 설계 전략이 있습니까?
OOP 배경 (자바)에서 온 저는 스칼라를 스스로 배우고 있습니다. 불변 개체를 개별적으로 사용하는 이점을 쉽게 볼 수는 있지만, 전체 응용 프로그램을 어떻게 디자인 할 수 있는지 보는 데 어려움을 겪고 있습니다. 예를 들어 보겠습니다. 물과 얼음과 같은 "재료"와 그 속성 (게임을 디자인하고 있으므로 실제로 문제가 있습니다)을 나타내는 개체가 있다고 가정 …

7
불변 클래스는 어떤 시점에서 부담이 되는가?
데이터 모델을 보유 할 클래스를 설계 할 때 읽은 것은 불변의 객체를 만드는 것이 유용 할 수 있지만 생성자 매개 변수 목록과 딥 카피의 부담이 너무 커져 불변의 제한을 포기해야합니까? 예를 들어, 여기에 명명 된 것을 나타내는 불변 클래스가 있습니다 (C # 구문을 사용하고 있지만 원칙은 모든 OO 언어에 적용됩니다) …

2
Java에서 클래스를 변경할 수 없다고 어떻게 주석을 달아야합니까?
나는 최근에 불변의 객체가 얼마나 유용한 지에 대해 비 틀었습니다. 예를 들어 요소를 생성자에 전달하고 클래스가 불변이어야하는 경우, 불변이 아닌 경우 이러한 요소를 복사해야합니다. 프로젝트에 대해 많은 점검이나 지식이 필요합니다. public A(B foo) 그리고 B, 불변 아닌 A내가 복사해야 할 것이다 B. 이제는 B불변 인 것처럼 보이지만 그 자체에는 생성자 …

4
기능적 패러다임이 기본 하드웨어와 너무 다양하여 일반적으로 효율적이지 않습니까?
SO의 질문에서 영감을 얻었습니다 : /programming/6623391/how-to-gain-control-of-a-5gb-heap-in-haskell FP의 여러 장단점에 대해서는 오랜 논쟁이 될 수 있지만, 현재 는 현대 하드웨어에서 FP의 주요 효율성 으로 범위를 좁히고 싶습니다 . 명제: 기능적 패러다임은 불변성과 상태 비 저장 (?)을 의미하지만, 기능 프로그램을 실행하는 하드웨어는 상태 저장 유한 자동 마타입니다. '순수한 기능'프로그램을 '상태 저장 하드웨어'표현으로 …

1
스칼라에서 List에 추가하는 데 왜 O (n) 시간이 복잡합니까?
방금 List(: +)에 대한 추가 작업의 실행 시간이 의 크기에 따라 선형으로 증가 한다는 것을 읽었습니다 List. 에 추가하는 List것은 꽤 일반적인 작업처럼 보입니다. 이를 수행하는 관용적 방법이 구성 요소 앞에 붙은 다음 목록을 바꾸어야하는 이유는 무엇입니까? 구현은 언제라도 변경 될 수 있으므로 설계 실패 일 수 없습니다. 내 관점에서, …

7
불변의 주위에 내 머리를 얻기
나는 객체 지향 프로그래밍에 익숙하지 않으며, 이해하는 데 시간이 걸리는 한 가지 개념은 불변성입니다. 어젯밤에 전구가 꺼 졌다고 생각하지만 확인하고 싶습니다. 불변의 객체를 변경할 수 없다는 진술을 보았을 때, 예를 들어 다음을 수행 할 수 있기 때문에 당황합니다. NSString *myName = @"Bob"; myName = @"Mike"; 여기서 방금 변경 불가능한 유형 …

4
기능적 스타일로 프로그래밍 할 때 응용 프로그램 논리를 통해 하나의 응용 프로그램 상태가 있습니까?
어떻게 다음을 모두 가지고있는 시스템을 구축 할 : 변경 불가능한 객체에 순수한 함수 사용 더 이상 필요하지 않은 함수 데이터 만 전달하십시오 (즉, 큰 응용 프로그램 상태 객체가 없음). 함수에 너무 많은 인수를 사용하지 마십시오. 함수에 매개 변수를 패킹하고 압축을 풀기 위해 단순히 새로운 오브젝트를 구성하지 말고, 너무 많은 매개 …

3
불변 상태로 객체 그래프의 변이를 효과적으로 표현할 수 있습니까?
C ++에서 불변 객체 사용을 연습하고 있습니다. 내 개인적인 목표는 불변의 그래프 시퀀스로 일반 객체 그래프 (힙)를 나타내는 것입니다. 다중 버전 그래프 자체를 만드는 것은 그리 어렵지 않습니다. 문제는 성능입니다. 무차별 버전 관리에는 전체 그래프 사본이 필요하지만 허용되지 않았습니다. 변경되지 않은 노드를 공유하려고했습니다. 그러나이 경우 새로운 문제가 생겼습니다. 참조. 다른 …


4
함수형 프로그래밍 — 불변성
FP의 불변 데이터 (특히 F #에서는 다른 FP도 괜찮음)를 이해하고 상태 풀 사고 (OOP 스타일)의 오래된 습관을 깰려고합니다. 질문에 선택한 답변의 일부는 여기에 (: 생산자와 소비자가있는 큐 예를 들어) 어느 FP에 불변 사람과 OOP의 상태 표현에 의해 해결되는 문제의 주위에 쓰기 업에 대한 내 검색을 반복했다. 어떤 생각이나 링크를 환영합니다? …

6
불변 유형의 단점은 무엇입니까?
클래스의 인스턴스가 변경 될 것으로 예상되지 않을 때 더 많은 불변 유형을 사용 하고 있습니다 . 더 많은 작업이 필요하지만 (아래 예 참조) 멀티 스레드 환경에서 유형을보다 쉽게 ​​사용할 수 있습니다. 동시에 변경 가능성이 다른 사람에게 도움이되지 않더라도 다른 응용 프로그램에서는 변경 불가능한 유형을 거의 볼 수 없습니다. 질문 : …
12 c#  immutability 

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.