TIL

Chapter6 응용 서비스 표현 영역

6.1 표현 영역과 응용 영역

6.2 응용 서비스의 역할

public Result doSomeFunc(SomeReq req) {
	// 1. 리포지터리에서 애그리거트를 조회
	SomeAgg agg = someAggRepository.findById(req.getId());
	
	// 2. 애그리거트의 도메인 기능을 실행
	agg.doFunc(req.getValue());
	
	// 3. 결과를 리턴
	return createSuccessResult(agg);
}

6.2.1 도메인 로직 넣지 않기

6.3 응용 서비스의 구현

6.3.1 응용 서비스의 크기

응용 서비스의 크기를 고려해 두 가지 방법 중 하나로 구현할 수 있다.

6.3.2 응용 서비스의 인터페이스와 클래스

응용 서비스에 인터페이스는 크게 필요하지 않다.

6.3.3 메서드 파라미터와 값 리턴

6.3.4 표현 영역에 의존하지 않기

6.4 표현 영역

표현 영역의 책임은 크게 다음과 같다.

6.5 값 검증

6.6 권한 검사