Post

MVC 아키텍처

MVC 아키텍처

MVC?

image

모델-뷰-컨트롤러

사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴입니다

-mdn 공식 문서-

■ 모델-뷰-컨트롤러란?

1. 모델:

  • 데이터와 데이터를 처리하는 로직을 관리
  • 처리되는 알고리즘,데이터베이스에 저장된 정보를 CRUD하는 작업, 비즈니스 로직과 데이터베이스 연결 등의 로직들을 주로 작성
  • 데이터 유효성 검사, 데이터베이스 트랜잭션 처리, 이벤트 발생 등의 작업을 모델에서 수행

2. 뷰:

  • 레이아웃과 화면을 처리 (보여주는 역할)
  • 사용자의 입력을 받아 컨트롤러로 전달하는 역할

3. 컨트롤러:

  • 사용자의 요청을 전달받아 모델과 뷰를 조작하는 역할
  • 데이터를 변경하거나 변경된 데이터를 반영하여 사용자에게 보여줌

■ 장점?

  • 모델, 뷰, 컨트롤러가 각각 독립적임 (비즈니스 로직과 사용자 인터페이스 요소를 분리)
  • 유지보수가 용이함
  • 새로운 기능을 추가하거나 변경이 쉬움

■ 단점?

  • 프로젝트 규모가 커질수록 코드의 양이 늘어나고, 복잡해질 수 있음
  • 모델과 뷰가 강하게 결합되어 있을 수 있고, 이 경우 유닛테스트나 통합테스트가 어려워짐

참고 사이트

This post is licensed under CC BY 4.0 by the author.