6.1 표현 영역과 응용 영역
- 표현 영역과 응용 영역은 사용자와 도메인 영역을 이어주는 역할을 한다.
6.2 응용 서비스의 역할
- 응용 서비스는 도메인 객체 간의 흐름을 제어한다.
- 보통 단순한 형태를 가진다.
- 응용 서비스에서 도메인 로직을 가지지 않도록 주의하자.
- 응용 서비스는 트랜잭션 처리도 담당한다.
6.3 응용 서비스의 구현
-
응용 서비스는 파사드와 같은 역할을 한다.
-
응용 서비스의 크기
- 하나에 다 때려박은 MemberService
- 코드 중복 (private method 방식)을 제거 하기 좋다
- 코드 라인이 너무 길어진다.
- 구분되는 기능별로 서비스 클래스를 구현
- 한 서비스에 2~3개의 메서드만을 가지게 한다.
- 클래스 개수는 많아지지만 코드 품질을 유지하는데 도움이 된다.
- Helper class 로 중복을 방지할 수 있다.
-
인터페이스가 필요한가?
- 구현 클래스가 여러개인 경우? 그런 경우는 정말 드물다.
- 테스트 용이성? mockito 같은 테스트 도구는 클래스에 대해서도 테스트 더블을 생성할 수 있게 도와준다.
- 결론 - 글쌔요?
-
계층별 매핑 객체
- 애그리거트의 객체를 그대로 반환하면 망한다.
- 인자를 넘기는 방식, 실행 결과를 반환하는 방식에 대해서 적절히 룰을 잡자.
-
표현 영역에 의존하지 말라