3

CQRS와 CRUD의 차이점과 두 경우 모두 UnitOfWork 및 Repository 패턴을 사용할 수 있습니까?CQRS가 CRUD를 대체합니까?

나는 당신이 나를 추천하고있는 entite 사이에 복잡한 관계가 있는데, 왜 그런가?

CQRS 패턴 : http://martinfowler.com/bliki/CQRS.html
CRUD : 어떤 도움이 크게 감사합니다 http://en.wikipedia.org/wiki/Create,_read,_update_and_delete

.

+1

CRUD와 CQRS는 서로 배타적이지 않은 완전히 다른 것들입니다. CQRS는 쓰기 모델이 읽기 모델과 구분된다는 것을 의미합니다. 따라서 둘 다 서로 독립적으로 확장 할 수 있습니다. CQRS는 종종 DDD 및 EventSourcing과 관련이 있지만 CQRS의 전제 조건은 아닙니다. – plalx

답변

4

CQRS는 일반적으로 복잡한 응용 프로그램 프로젝트에 사용됩니다. DDD는 복잡한 응용 프로그램 프로젝트에도 사용되며 CQRS와 관련이있는 것 같습니다. DDD는 동작의 복잡성을 처리하려고 시도합니다. CRUD 시스템은 동작이 거의 없거나 전혀 없습니다. 동작이 거의 또는 전혀없는 시스템에는 실제로 복잡한 이벤트 구조가 없으므로 CQRS에서 얼마나 많은 이점을 얻을 수 있는지 말할 수 없습니다.

+0

내가 원했던 완벽한 대답이 아니라 감사합니다! –

3

CRUD - 하나의 개체에 대해 읽기 및 쓰기 작업을 수행합니다.

CQRS - 읽기 및 쓰기 작업을 두 개의 개별 객체로 분할했습니다. 이를 단순화하고 하나의 객체에 두 개의 별도 인터페이스 (읽기 용과 쓰기 용)로 구현할 수 있습니다. 그런 다음 필요에 따라 객체를 인스턴스화 할 수 있습니다. 또는 더 멀리 옮기고 읽고 쓰는 데 별도의 데이터베이스를 사용할 수 있습니다.

대부분의 경우 CRUD가 대답이지만 CQRS는 일부 복잡한 스캔에 적용 할 수 있습니다.

Entity Framework를 사용하는 경우 EF에서 기본적으로 구현 되었기 때문에 작업 단위 및 리포지토리를 사용하지 않아야합니다.

CRUD에서 작업 단위 및 저장소를 사용하는 것이 정상입니다. CQRS - 나는 지식이 없다.