MVC패턴

김진겸·2023년 1월 26일
0

내가 오늘 배우고 사용한 MVC패턴을 정리해보자!!!
MVC패턴이란 무엇이고 어떻게 써야하는지 알아보자.

  • MVC패턴이란
    유지보수를 잘 하기위해 db를 생성관리해주는 Models, 화면에 보여지는 파일을 관리하는 Views, 미들웨어 함수를 분리해서 관리하는Controller로 3개의 폴더로 나눠서 관리해준다.

나누어서 관리하게 되면 유지보수성,유연성,애플리케이션의 확장성이 증가하고 애플리케이션의 중복코딩이라는 문제점을 극복하게된다. 오늘 내가 배우면서 깨닫게 된것은 유지보수가 확실해진다는 점이다. 데이터의 전달경로를 정확히 찾게된다면 유지보수가 어렵지 않게되는데 MVC패턴을 이용하면 경로를 쉽게 예측할수 있어 유지보수성이 증가한다. 그리고 Controllers 폴더 안에 Services라는 폴더를 만들어 핵심로직(비지니스 로직)을 만들어 꺼내 쓰게되면 중복코딩을 줄일 수 있다. 이또한 유지보수성이 증가한다.

이제 어떻게 사용하는지 알아 보자. 오늘 MVC패턴을 OOP와 함계사용했다.
오늘 배운것을 요약하면 기존rest-api를 객체지향형프로그래밍화하고 MVC패턴을 이용해 유지보수가 편하게 만들었던 것이었다.

객체지향형 프로그래밍을 위해 class를 만들어 미들웨어 함수를 담아줘야한다. 이제 MVC패턴을 어떻게 하는지 알아보자.

  • MVC패턴을 어떻게 사용하는가?
    폴더를 3가지로 나누어 관리하는데 rest-api를 객체지향형으로 바꾸고 MVC패턴으로 바꾸는것이니 models,controllers 와 controllers/services를 만들어 바꾸어준다.
    controllers에 미들웨어 함수를 담고 그핵심 로직을 services에 담아준다.

API로직을 작성하는것과 가져온 미들웨어 함수를 다시 객체지향형으로 바꾸는것의 차이를 알고넘어가자
controllers폴더에서 미들웨어 함수를 담고 controllers폴더에서 만든 class PostUserController를 export해서 새로운 인스턴스를 만들고 이를 app.post의 매개변수에 담아줄때는 매소드에()를 붙이지 않는다. 이유는 함수를 실행시키는것이 아니라 함수를 가져오는것에 목적이 있기 때문이다.

만든 class PostController에 services에서 만든 class makeSchema를 작성할때는 ()를 붙인다.
이유는 가져오는게 아니라 함수를 실행 시켜야 하기 때문이다.

조금씩 나아가자.

profile
성장에 목마른 입문자입니다!

0개의 댓글