카테고리 없음

MVC 패턴

namu445 2022. 5. 24. 20:32

  • 디자인 패턴으로 Model, View, Controller의 약자 입니다. 최근에 백엔드에서 View를 직접 구현하거나 관리하는 경우는 거의 없어 View보다는 Service를 포함합니다.
  • 서비스가 포함되면 주로 모델을 서비스에서 참조합니다.

MVC를 사용하는 이유

  • 서비스 함수에서 하나의 기능만을 담당하고 컨트롤러에서 역할만 외부로 노출해서 코드를 보기 편하게 하고 에러의 원인을 찾기 쉽게 합니다.
  • 유지보수가 편리해지고 확장성 유연성이 증가하며, 패턴을 적용해서 정리된 코드를 작성하면 기능이 중복되는 함수를 줄일 수 있습니다.
  • 적용하는 과정에서 코드의 길이가 길어지고 디렉토리 구조가 복잡해질 수 있지만 에러위치를 특정하고 중복 코드를 줄일 수 있다는 것은 큰 장점입니다. 서비스의 규모가 커질 수록 패턴을 적용한 코드가 더 읽기 편해집니다.

Controller

  • api에서 req를 받아서 서비스로 전달하고 서비스에서 값을 리턴받아서 클라이언트에게 응답(response)합니다.
  • 큰 기능으로 분류하고 절차(로직?)에 따라 사용되는 서비스 기능의 조합입니다.

Services

  • 세부 기능입니다.
  • 세부 기능도 역할에 따라 파일 별로 분류합니다. 데이터의 조회, 저장, 가공을 진행하고 DB와 관련된 작업을 하기 위해서 Model을 참고합니다.

Model(Entity, Schema)

  • DB또는 graphql과 같이 스키마가 필요한 기능들을 사용하기 위해 선언하는 양식입니다.
  • 속성(키)의 데이터 타입, 길이, 다른 스키마나 테이블 과의 관계 등을 설정합니다.  

 

 

<추가>

https://m.blog.naver.com/jhc9639/220967034588

 

[개발자 면접준비]#1. MVC패턴이란

오늘은 개발자면접에 많이 나오기도 하는 MVC패턴에 대해서 알아보고자 합니다. 과연 MVC패턴이 무엇...

blog.naver.com