OpenSource/Spring Boot

주저리) mvc에서 controller 분리 전략

태하팍 2024. 3. 9. 17:55
반응형

프로젝트를 하나 만들어서  mvc를 만들려는데..고민을 해보았다. ㅋㅋ
Q)  현재는 하나의 도메인을 호출할 예정이지만 다른 도메인이 들어왔을 경우에
      컨트롤러를 어떻게 분리를 해야할지 고민해보자!

카테고리별 즉, 디렉토리별로 분리하여 관리를 해주는 방법
아니면 그냥 Controller 디렉토리안에서 각각 필요한 Controller를 명명으로 분리하는 방법

기능적으로 커플링이 없다면 당연히 디렉토리별로 각각 만들어서 그 안에서 관리를 해주면 좋은데..
기능적으로 중복코드가 발생할 가능성이 크다면?
즉, 서비스쪽 로직코드가 중복이 될 가능성이 크다.

예를 들어서 쇼핑몰을 구축을 한다면
주문/발주/송장입력 등 결이 다른 기능을 가지고 있다면 손쉽게 디렉토리별로 나눠서 관리하면 좋을것이다.
심지어는 MSA아키텍처로 프로젝트를 따로 만드는 경우도 있을 것이다.

그럼 뭔가 호출하여 지지고 볶고해서 결과를 리턴해주는 하나의 기능이라면?
기능이 하나라면 그냥 Controller / Service디렉토리를 만들고 그 안에서 처리하면 될것 같다.
그리고 혹 여러 기능이 필요한 시점이 오면 기능별로 디렉토리를 만드는게 좋을것 같다.

또한 도메인 자체가 로직(서비스)에서 필요한 도메인이라면 즉, 데이터 도메인이라면 굳이 나눌필요는 없을것 같다.
같은 기능이라면 파라미터로 처리하면 된다.

결론은 아래처럼..



좀 더 좋은 아이디어나 생각이 있다면 코멘트 부탁드립니다!
소통 원합니당 :)
끝!! 

반응형