문제상황
- 명예의 전당 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패턴입니다.
'trouble shooting > spring' 카테고리의 다른 글
Myreview 조회 (성능개선) (0) | 2022.12.12 |
---|---|
메인 페이지(명예의 전당) 추가 개선 사항 (0) | 2022.12.12 |
@Transaction 오류 (0) | 2022.12.07 |
쿼리 성능 개선(메인 페이지 업적 조회) (0) | 2022.12.05 |
실전 프로젝트 service 로직 개선 사항 (0) | 2022.12.02 |
댓글