UserCase가 많은데... 이유?
530
작성한 질문수 35
UserCase가 많은데...
그러니까 일반적인 Layered Architecture에서는
Service 기능으로, 현재 결국에는 RentalCard 관련해서 작업을 하니까 RentarCardService라는 interface파일에 모든 기능을 넣어서 사용할 수 가 있는데
현재 헥사고날 공부하면서 UseCase는 InqueryUsecase를 제외하고 기능 하나에 usecase하나로 작성이 되었더라고요.
이 이유와 이로 인한 장점이 무잇인지 잘 모르겠습니다.
설명 부탁드립니다!
답변 1
1
네 강의자 한정헌입니다.
말씀하신 바대로 헥사고널 아키텍처에서도 예를 들면 CUD단위로 하나의 유스케이스 인터페이스로 묶고 이를 구현하는 입력포트도 하나의 클래스로 작성할 수 있습니다.
처음에 간단했던 cud야 괜찮겠지만 비지니스가 점점 복잡해지면 유지보수가 거듭되면서 이 클래스가 점점 비대해질 가능성이 있습니다.
그래서 저는 기능 단위로 유스케이스와 입력포트를 분리하는 방법을 선호합니다.
유스케이스 단위로 클래스 생성하는 방식에 대해서는 클린코드의 저자 로버트 c 마틴이 ‘ 소리치는 아키텍처(코드의 명칭을 통해 그 의도롤 소리치게 하자.)’라고도 언급하며 강조를 하기도 했습니다. 왜냐면 이렇게 했을 경우 코드명으로 그 의도를 바로 식별할 수 있기 때문이죠. 즉 클래스 명만 보고 어떠한 유스케이스인지 쉽게 인지 가능하기 때문에 테스트 및 유지보수성 높아 질수 있음을 강조했다고 생각합니다.
감사합니다.
service-discovery 프로세스 가동 이유
0
11
1
안녕하세요 한번 더 문의드립니다.
0
39
4
보상트랜잭션 실패시 데이터베이스 저장하는데 그것조차 실패하면 어떻게 하나요??
0
27
2
코드 자료는 없는걸까요?
0
63
3
헥사고날 아키텍처와 DDD를 적용할 때, 화면에 강하게 연관된 조회 데이터를 어떻게 다루는 게 좋은지 궁금합니다.
0
54
2
DLQ의 수동 커밋에 대해서 질문있습니다.
0
49
2
Request DTO에서 Entity를 생성할 때 의존성 방향을 반대로 하면 어떨까요?
0
65
2
혹시 다음 강의는 언제쯤 나올까요?
0
30
1
강의보다 바로 여쭤봅니다.
0
107
2
Aggregate 하위에 꼬리를 무는 Entity 는?
0
162
2
헥사곤 아키텍쳐 관련하여 문의드립니다.
2
193
2
VO 클래스의 불변 필드 선언을 하지 않으신 이유?
0
243
2
RentalCard 의 calculateLateFee 메서드 구현이 잘못된 것 같습니다.
1
188
2
음성 부분이 너무 깨지는데...
0
372
1
CQRS 질문 드립니다.
0
379
1
강의 음성 및 영상
0
365
1
domain.model.event에 정의되는 객체들에 대한 질문이 있습니다
0
387
1
수업에 사용한 소스코드 문의
0
619
1
EDA 이해
0
480
1
보상트랜잭션 후 클라이언트 알림 방법 등
0
382
1
MSA 구조에서 공통 클래스
0
923
2
@Repository 두 곳에서 사용하시는 이유
0
474
1
Entity와 VO에 대해..
0
784
1
DTO 클래스의 위치에 대해 질문있습니다!
1
775
1





