inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1

회원 애플리케이션의 포트 정의

MemberRegister 질문드립니다.

75

hdh8990

작성한 질문수 6

0

domain 패키지 안에 activate메서드가 있는데 포트 역할을 하는 MemberRegister 인터페이스에 activate메서드가 또 필요한 이유가 어떤건가요??

activate는 외부로 공개될 필요가 없는거 아닌가용??

java spring spring-boot jpa 리팩터링 ddd

답변 1

0

토비

도메인 모델의 activate()는 도메인이 가진 본질적인 기능을 넣은 것입니다. 반면 MemberRegister라는 헥사고날 애플리케이션의 기능 제공 인터페이스는 이를 클라이언트와 같은 외부 액터에게 제공하기 위해서 선언된 것입니다. 비슷해 보이지만 각각의 책임은 확실하게 구분됩니다. MemberRegister를 구현한 애플리케이션 서비스는 어떤 회원인지 리포지토리를 통해서 도메인 엔티티를 조회하고 엔티티가 가진 activate()를 호출하고, 혹시 실패하는 경우 인터페이스에 약속된 방식으로 예외처리를 해주기도 하죠. 또, active 상태가 되었을 때 추가로 진행해야 할 작업도 여기서 담당합니다. 안내 메일을 보내거나 관리자에게 알림을 주거나 최신 이벤트가 적용할 것이 있는지 확인도 할 수 있겠죠. 물론 핵심은 도메인 모델이 가진 activate()를 호출해서 도메인의 로직을 반영하는 것입니다.

N+1 관련해서 질문있습니다.

0

40

3

도메인 모델에서 관계와 규칙을 구분하는 방법

0

61

2

헥사고날 아키텍처에서의 배치, 시큐리티, 비동기 이벤트 처리는 어떻게 하나요?

0

133

2

어댑터에서 도메인에 직접 의존하는 경우에 대해

0

134

2

Member 도메인이 PasswordEncoder를 받는 구조 질문 있습니다.

0

118

2

MemberService와 EmailSender 책임 분리에 대한 질문

0

109

2

NonNullApi를 NullMarked로 대체하라고 합니다.

0

133

2

39. 문서와 코드 다듬기 updateInfo 테스트 질문 있습니다.

0

80

2

Repository Adapter 설계에 대해 피드백을 부탁드립니다

0

111

2

헥사고날 part2 강의 출시 예정일 문의 드립니다.

0

261

2

PT 문의사항

0

104

1

초기 어플리케이션 구동 시 compose.yml 파싱 오류

0

152

2

애플리케이션의 JPA 리턴과 도메인 모델

0

129

2

애그리거트 루트의 하위 도메인들의 depth가 깊어질 때 문의

0

137

2

페이징 처리를 해야한다면 어떻게 해야할까요?

0

196

2

애그리거트의 repository

0

125

2

Domain Expert가 정확히 어떤 역할을 하는 사람인가요?

0

237

1

회원 애플리케이션 서비스 테스트 (1)

0

109

2

정적 팩토리 메서드 관련 질문드립니다!

0

110

2

spotbug + @NonNullApi 로만 Null 방어가 될까요?

0

129

2

required 포트에 관해서

0

95

2

혹시 다음 편은 언제쯤 오픈할까요?

0

172

2

서비스 단위 테스트 코드 작성

0

101

2

domain 모듈에 entity를 정의한다고 했을때

0

104

2