2014-09-20 2 views
0

나는 CQRS 패턴을 따르려고 노력하고 있지만 누구를 포함해야 하는지를 모른다. 마찬가지로 명령 처리기에 응용 프로그램 서비스를 주입해야합니까? 아니면 다른 방향입니까?명령 처리기에 서비스 또는 서비스가 포함되어야하면 명령이 포함되어야합니까?

여기가 예제입니다. 명령 처리기에 서비스를 주입하고 있습니다. 그리고 내부 서비스가 CreatProductCategoryCommandHandler

public CreateProductCategoryCommandHandler(ICategoryService categoryService) 
{ 
    _categoryService = categoryService; 
} 

방법을 실행 또는 I 명령 핸들러가있을 때 나는 심지어 서비스가 필요합니까 사용할 수 있습니까?

답변

6

정의에서 "서비스"란 무엇입니까?

일반적으로 서비스 (예 : 도메인 서비스, 응용 프로그램 서비스)는 명령 처리기의 개념없이 작동하지만 명령 처리기는 명령을 처리 할 서비스가 필요합니다. 따라서 서비스는 명령 처리기에 주입되어야하며 다른 방법으로는 주입되지 않아야합니다.

+0

나는 응용 서비스를 의미합니다. 게시물을 편집했습니다. 고맙습니다. –

+3

아, 그래. FWIW, IMO 명령 처리기는 실제로 응용 프로그램 서비스입니다. –

+0

그래서 내가 그저 작품을 복제하고 있다는 것을 의미합니까? 다른 카테고리 서비스가 있습니까? 또 다른 질문은 데이터베이스에 변경 사항을 적용해야하는 부분입니다. [엔터티 프레임 워크에서 SaveChanges()를 호출하는 명령 핸들러 또는 범주 서비스? –