Service가 다른 개념의 Finder를 직접 쓰면 안 되는 거 아닌가?
·
카테고리 없음
개요커머스 프로젝트에서 주문 기능을 만들다가 팀원한테 질문을 받았다. "OrderService에서 ProductFinder를 직접 쓰고 있는데, 이거 Assembler에서 ProductService로 조회해서 넘겨주는 게 맞지 않아요?"합리적인 의문이다. 우리 프로젝트 규칙상 Assembler는 Service만 참조할 수 있고, 타 개념의 데이터가 필요하면 Assembler에서 조합하는 게 기본이니까. 그런데 결론부터 말하면, 이 경우는 Assembler로 빼면 오히려 구조가 나빠진다.왜 그런지 두 가지 사례를 비교해보면 감이 온다. 프로젝트의 계층 구조Presentation Layer (Controller, Assembler) ↓Business Layer (*Service) ↓Log..