2010-12-20 7 views
1

서비스 인터페이스를 통해 도메인 엔터티에서 도메인 서비스를 호출 할 수 있습니까? 예 -에 대한도메인 엔터티에서 도메인 서비스 호출

:

employee.Fire() IEmployee 발사 서비스를 호출. 인터페이스를 통해 구체적인 것을 통하지 않고 호출합니다.

그럴 수 있습니까?

+2

가능한 것은 무엇입니까? 인터페이스 참조 사용? 서비스를 통해 전화하십니까? DDD가 올바른지 묻고 있습니까? 귀하의 질문은 명확하지 않습니다. 그것을 분명히하십시오. – Oded

답변

0

복잡한 오류없이 수행 할 수 있지만 도메인 엔티티에서 도메인 서비스를 호출하는 것은 좋지 않다고 생각합니다.

일반적으로 동작이 둘 이상의 엔티티에 영향을주는 경우 로직을 서비스 메소드에 넣습니다. 따라서 화재 조치가 현재 직원에게만 영향을주는 경우 employee.Fire() 내부를 캡슐화해야합니다. 다중 직원에게 영향을 미치는 경우 다중 서비스에 영향을 미치고 응용 프로그램은 service.Fire() 대신 service.Fire()를 호출해야합니다.

관련 문제