기존에 만들었던 백엔드 API는 '라우터로 응답 반환' 부터 시작해서 '데이터 저장 및 불러오기', 비즈니스 로직처리 까지 전부 하나의 API 주소에서 담당했었다. 그러다 보니 가독성도 떨어지고 나중되서 유지보수하기 힘들어 질 것 같았다. 그래서 디자인 패턴을 적용 해보기로 했다.
기존에 만들었던 백엔드 API의 작업 구조는 위에서도 언급했다시피
이렇게 3가지 계층으로 구분되며 계층화를 시킬때 핵심은 높은 응집도와 낮은 결합도를 유지해야 한다는 것. 각 계층마다 역할을 명확히 해야하며 낮은 결합도를 유지하기 위해 상위 계층이 하위 계층에만 의존하도록 설계할 필요가 있다고 생각이 든다. 그래서 레이어드 아키텍쳐 패턴을 사용해보기로 했다.
어떤 작업을 하는지 간단하게 사진 몇 장만 남긴다.
기존 코드
패턴을 적용한 코드
기존 코드에 예외 처리를 많이 해줬는데 이 에러 처리 코드가 더 많아질 경우 서비스 계층의 코드가 점점 지저분 해질거라는 느낌을 받았다. 다른 사람들은 예외 처리 코드를 어떻게 효율적으로 작성하는지 찾아봐야겠다. 또한 에러 처리도 next 미들웨어로 한꺼번에 처리하는 법을 배워야 겠다.