case 1)
상이한 유스케이스에서 요청모델을 공유하는 경우
공유된 모델을 수정하는 경우 양쪽에 영향을 미친다
case 2)
엔티티를 요청/반환 모델로 사용하는 경우
요청, 반환에는 필요하지만 DB저장은 필요 없는 경우에도 엔티티에 영향을 미친다
case 3)
요청진입점(Controller)에서 서비스 구현체를 바로 주입받아 사용하는 경우
각 진입점에 해당하는 함수를 구현체에서 찾게된다
case 4)
진입점에서 레포지토리를 바로 주입받아 사용하는 경우
간단 CRUD 이외에 로직을 더하는 경우, 비즈니스 로직이 여기저기 흩어지게 될 수 있다
conclusion)
간단한 구현 이외에 향후에도 별도의 로직이 추가되지 않는다면, 위의 선택이 오히려 실용적이다
하지만 CRUD 이외에 로직이 더해지는 경우 위와 같은 단점이 부각된다