강의 내 사이트 링크
서비스
서비스란 무엇인가?


- 서비스 이외의 어노테이션들은 하는일이 명확해보인다.
- 스프링 프로젝트 코드 주석을 확인하면, “서비스는 DDD에서 가져온 개념이고, 비즈니스 서비스의 Facade이다.” 라고 명시되어 있다.
- 또한, 캡슐화된 상태 없이 모델에서 독립적으로 제공되는 인터페이스로 제공되는 작업을 나타낸다.
- J2EE 패턴에서 “비즈니스 서비스 Facade”나 이에 비슷한 것을 의미하기도 한다.
- 즉, 스프링은 DDD를 DDD 답게 사용하기 위한 프레임워크로, 스프링에서 말하는 서비스는 DDD에서 정의된 서비스를 지칭하는 어노테이션이다.
- 도메인은 비즈니스 로직을 들고 있는 객체인데, 비즈니스 서비스 Facade란 달리 말하면 도메인과 도메인 서비스의 Facade라고 해석될 수 있다.
- 정리하면, 어플리케이션 서비스는 도메인과 도메인 서비스에게 책임을 위임하는 Facade 패턴의 일종인 것이다.
DDD에서 말하는 서비스
- 자신의 본거지를 Entity나 Value Object에서 찾지 못하는 중요한 도메인 연산이 있다.