나는 임피던스 불일치로 운명 지어 질지 모르지만 나는 IRepository와 불변의 대상에 대해 본 적이있는 예제들을 조화 시키려고 노력하고있다.저장소 및 변경 불가능 개체?
나는 웹 요청의 hundrd가 제품의 '작업 세트'에서 작동하는 카탈로그 응용 프로그램에서 작업하고 있습니다. 전체 카탈로그의 하위 집합은 주어진 시간에 재생되는 경향이 있습니다. 우리의 데이터 팀이 지속적으로 제품 데이터 업데이트 동시에
- 새로운 이미지 업데이트 가격, 설명, 등 등성능을 위해 내가 불변으로 제품을 고려 더 잘 해요 나에게 보인다 . 저장소에 의해로드되고 캐시되며 많은 스레드가 동시에 동일한 제품 오브젝트에 액세스 할 수 있습니다.
그러나이 아이디어는 업데이트/삭제 메소드에서 본 IRepository 예제의 많은 부분에서 깨져 보입니다. 스레드가 제품에 쓸 수있게되면 곧 내 자신이 인종 및 기타 불쾌감을 불러 일으키는 것처럼 보입니다.
그래서 필자는 변경 사항을 유지하고 문제의 제품을 모든 사용자가 사용할 수 있도록 다시로드해야하는 동반자 '편집자'개체를 통해 엔티티에 대한 변경을 수행하는 '편집기'모델을 구상했습니다. 제품은 절대 변경되지 않으며 외부에서 '수정'되어 다시로드됩니다.
이 말이 맞는가요? 설명 된 것처럼 저장소에서이 작업을 수행 할 수 있습니까?
시간 내 주셔서 감사합니다.
아마도 Michael Haren이 제안한 '편집 잠금'을 사용하는 것이 좋습니다. 감사합니다. – n8wrl
제품의 데이터베이스 레코드를 정말로 업데이트 할 지 모르겠습니다. 제품 기록을 유지해야하는 경우 교체하는 것이 더 적절할 수 있습니다. – grover