본문 바로가기
trouble shooting/spring

querydsl query projection 사용 (메인 페이지 명예의 전당)

by 일상코더 2022. 12. 12.

문제상황

             - 명예의 전당 API serivce로직이 길어지는것을 최소한 간소화 하고싶었음

           

 

 

문제 원인

           

개선 전 service 로직 

 

개선 전 repository

 

 

@Buider를 사용하게 되서 service로직이 길어지게 되었다.

 

 

문제 해결

        Querydsl 의 Projections기능을 사용함

 

개선 후 service 로직

 

개선 후 repository 

 

 

문제 해결 후 알게된 점

 

1. service단 코드가 간결해졌다.

 

2. DB작업이 일어나는 부분이 전부 repository에서 실행되기 때문에 MVC 패턴에서 Model(데이터 처리), view(사용자가 보는 페이지) 그리고 Controller(model, view를 제어) 가 깔끔하게 분리되었다.

 

3. MVC패턴의 장점중에 유지보수성, 중복코딩감소 적인 측면에서 개선이 되었다고 생각했다.

 

 

 

MVC 패턴 이란?

 

MVC패턴은 디자인패턴 중 하나이다. 디자인 패턴이란 프로그램이나 어떤 특정한 것을 개발하는 중에 발생했던 문제점들을 정리해서 상황에 따라 간편하게 적용해서 쓸 수 있는 것을 정리하여 특정한 "규약"을 통해 쉽게 쓸 수 있는 형태로 만든 것을 의미한다. 

 

왜 MVC패턴을 사용해야 할까.

사용자가 보는 페이지, 데이터처리, 그리고 이 2가지를 중간에서 제어하는 컨트롤, 이 3가지로 구성되는 하나의 애플리케이션을 만들면 각각 맡은바에만 집중을 할 수 있게 됩니다. 공장에서도 하나의 역할들만 담당을 해서 처리를 해서 효율적이게 됩니다. 여기서도 마찬가지입니다.

 

서로 분리되어 각자의 역할에 집중할 수 있게끔하여 개발을 하고 그렇게 애플리케이션을 만든다면, 유지보수성, 애플리케이션의 확장성, 그리고 유연성이 증가하고, 중복코딩이라는 문제점 또한 사라지게 되는 것입니다. 그러기 위한 MVC패턴입니다.

 

댓글