2011-10-17 2 views
2

내부적으로 인 다양한 서비스를 호출하는 가장 좋은 방법은 무엇입니까? (즉, 클라이언트 코드가 로직을 호출 할 수 없음)?서비스 또는 이벤트?

IProcessService - 다양한 항목을 실행하고 도메인 엔터티를 변경합니다. 그러나이 도메인 엔터티의 특정 데이터가 변경되면 알림을 보내려합니다 (알림 테이블에 새 레코드를 추가하고 현재 사용자 및 유형을 기록합니다). 알림, 어쩌면 이메일 발송).

예. 우리가 클라이언트를 추가하자마자 클라이언트를 추가합니다 - 우리는 클라이언트가 추가 된 db에 레코드를 저장하려고합니다. 공급자가 확인되면 배달 날짜에 알림을 시작하고 싶습니다.

내 알림

는 술집 서브 접근 일반/이벤트 목록 기 등을 사용하고 있습니다 ... 질서의 과정과 관련된 모든 활동을 기록하는 방법?

참고 : 나는 LINQ to SQL은을 사용하고, 내 asp.net MVC 응용 프로그램과 통신 할 수있는 서비스 레이어는 등 내 모든 비즈니스 로직/검증/규칙은

답변

1

체크 아웃 ... 내 서비스 레이어 내부에 상주 Domain Events.

client.ConfirmDeliveryDate()으로 전화하면 도메인 이벤트 (DeliveryDateConfirmed)가 발생합니다. 그런 다음이 이벤트를 듣는 수업을 갖게됩니다 : EmailCustomerWhenDeliveryDateConfirmed.

+0

기사가 너무 깊어 지지만 지나치게 복잡하다고 느낍니까? 만약 내가 간단한 이벤트 리스너가 IRepo의 인스턴스 (db에 저장)를 사용하여 알림을 발생 시키면 나는 그것에 만족한다. 어떻게 생각하니? – Haroon