TIL_038_210413

James·2021년 4월 12일
0

TILs

목록 보기
38/40

MVC 디자인 패턴이란?

Model-View-Controller 의 약자로 각각의 역할에 맞게 프로젝트 구성 요소들을 구분하는 설계 방법론이라고 할 수 있다.

  • Model : 애플리케이션에 필요한 모든 데이터를 관장하는 곳으로 스스로 데이터를 가지고 있거나 데이터베이스와 직접적인 상호작용하는 역할을 함
  • View : 사용자에게 보여지는 화면에 대한 UI 요소들을 담당하는 곳
  • Controller : Model과 View 사이의 다리 역할을 함. 사용자의 요청에 따라 어떻게 데이터 처리해서 응답을 줄 것인지에 대한 비즈니스로직이 담겨진 곳

    <그림 출처: 클라우드스터딩>

MVC 디자인 패턴과 같이, 코드를 각각 다른 부분으로 나누어 작성해야 하는 이유는?

유지보수가 용이하기 때문. 디자이너와 프론트엔드 개발자는 View 파트에 있는 코드를 다루면 되고,
백엔드 개발자는 Controller와 Model 파트에 있는 코드를 다루면 된다.
참고로, 어떤 프로젝트를 하느냐에 따라 MVC패턴이 적절하지 않을 수도 있다. 이유는 Model과 View간의 의존성이 완전히 분리되지 않는 경우 복잡한 설계 단계를 거쳐야 할 수 있기 때문.

ORM 이란?

  • Object Relational Mapping 의 약자로 객체 지향 프로그래밍 언어와 관계형 데이터베이스 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법이다.
  • 쉽게 말해 SQL문을 직접 쓰지 않아도 데이터베이스와 상호작용할 수 있게 해주는 일종의 번역자라고 할 수 있다.
  • ORM이 적용되는 위치는 MVC 패턴에서 Model에 위치한다.
  • 대표적인 ORM Framework 중 Sequelize가 있다.

ORM에서 마이그레이션이란?

ORM에서 마이그레이션은 데이터베이스에 스키마 변경 명령할 내용을 준비해둔 로그라고 생각하면 된다.
git을 쓸 때 commit 로그 찍은 것과 비슷한 개념이다.
스키마가 변경되면 마이그레이션을 실행해줘야 실제 DB에 스키마 변경(Table 생성/수정)이 반영된다.

profile
웹개발자 James 입니다.

0개의 댓글