[TIL 3주차 - 230707] - 레이어드 아키텍쳐 패턴

프림·2023년 7월 7일
0

항해 TIL

목록 보기
9/19

1.문제

기존에 만들었던 백엔드 API는 '라우터로 응답 반환' 부터 시작해서 '데이터 저장 및 불러오기', 비즈니스 로직처리 까지 전부 하나의 API 주소에서 담당했었다. 그러다 보니 가독성도 떨어지고 나중되서 유지보수하기 힘들어 질 것 같았다. 그래서 디자인 패턴을 적용 해보기로 했다.

2.시도 및 해결

기존에 만들었던 백엔드 API의 작업 구조는 위에서도 언급했다시피

  • 1.클라이언트로부터 데이터 받음(클라이언트)
  • 2.받은 데이터에 부합하는 데이터를 데이터베이스에서 꺼내거나 저장(데이터베이스)
  • 3.불러오거나 저장할 때의 중요 로직을 처리.(중간)

이렇게 3가지 계층으로 구분되며 계층화를 시킬때 핵심은 높은 응집도낮은 결합도를 유지해야 한다는 것. 각 계층마다 역할을 명확히 해야하며 낮은 결합도를 유지하기 위해 상위 계층이 하위 계층에만 의존하도록 설계할 필요가 있다고 생각이 든다. 그래서 레이어드 아키텍쳐 패턴을 사용해보기로 했다.

어떤 작업을 하는지 간단하게 사진 몇 장만 남긴다.

  • 기존 코드

  • 패턴을 적용한 코드

3.느낀 점

기존 코드에 예외 처리를 많이 해줬는데 이 에러 처리 코드가 더 많아질 경우 서비스 계층의 코드가 점점 지저분 해질거라는 느낌을 받았다. 다른 사람들은 예외 처리 코드를 어떻게 효율적으로 작성하는지 찾아봐야겠다. 또한 에러 처리도 next 미들웨어로 한꺼번에 처리하는 법을 배워야 겠다.

profile
백엔드

0개의 댓글

관련 채용 정보