MVC 패턴이란? (Modal-View-Controller)

2023. 3. 15. 17:59·🌐 CS-Study/CS 스터디
반응형

MVC 패턴이란?


MVC란 Modal-View-Controller의 약자로, 애플리케이션을 세 가지 역할로 구분한 개발 방법론이다.
이 패턴을 성공적으로 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있게 된다.

  • Modal -  애플리케이션의 정보(데이터)
  • View - 텍스트, 체크박스, 항목 등과 같은 사용자 인터페이스 요소
  • Controller - 데이터와 비즈니스 로직 사이의 상호동작을 관리

 

MVC 구조에서의 입력은 모두 Controller에서 발생하게 되며, 관리되게 되는 구조이다.

이벤트가 발생하면 Control에 의해 각 모듈의 정의와 View의 사용 용도가 달라지게 된다.

사용자가 Controll를 조작하면 Controller는 Modal를 통해서 데이터를 가져오고 그 정보를 바탕으로 시각적인 표현을 담당하는 View를 제어해서 사용자에게 전달하는 과정이다.

 

 

 

MVC의 장단점

장점

  • Modal과 View가 분리됨
  • Modal의 비종속성으로 재사용이 가능함
  • 구현하기 가장 쉽고 단순함
  • 개발자라면 누구나 쉽게 파악 가능함

단점

  • Modal과 View 사이에 의존성이 발생함
  • 스파게티 코드가 될 가능성이 높음
  • 로직이 복잡해질수록 유지보수가 힘들어짐

 

자신이 개발하는 어플리케이션의 상황에 맞춰서 맞는 디자인 패턴을 사용하면 된다.

 

 

Web과 MVC의 상호작용

  1. 사용자가 웹 페이지에 접속한다.
  2. Controller는 사용자가 요청한 웹 페이지를 서비스하기 위해 모델을 호출한다.
  3. Modal은 데이터베이스나 파일과 같은 데이터 소스를 제어한 후에 그 결과를 리턴한다.
  4. Controller는 Modal이 리턴한 결과를 View에 반영한다.
  5. 데이터가 반영된 View를 최종적으로 사용자에게 보여준다.
반응형

'🌐 CS-Study > CS 스터디' 카테고리의 다른 글

브라우저 개념 및 랜더링 원리  (0) 2023.07.05
AJAX(Asynchronous Javascript And XML)란 ?  (0) 2023.07.04
HTTP와 HTTPS의 개념과 차이  (0) 2023.07.04
디자인 패턴이란? (Design Pattern)  (0) 2023.03.15
[Git] GitHub 프로젝트 업로드 방법  (0) 2023.02.07
'🌐 CS-Study/CS 스터디' 카테고리의 다른 글
  • AJAX(Asynchronous Javascript And XML)란 ?
  • HTTP와 HTTPS의 개념과 차이
  • 디자인 패턴이란? (Design Pattern)
  • [Git] GitHub 프로젝트 업로드 방법
S J ʕ·͡ᴥ·ʔ
S J ʕ·͡ᴥ·ʔ
  • S J ʕ·͡ᴥ·ʔ
    누워서 코딩하기 - 떡 먹는 것처럼 쉽고 재밌게!
    S J ʕ·͡ᴥ·ʔ
  • 전체
    오늘
    어제
    • 분류 전체보기 (99) N
      • 👩‍💻 Programming (25) N
        • React (18)
        • JavaScript (5) N
        • Swift (1)
        • JAVA (1)
      • 🌐 CS-Study (16)
        • CS 스터디 (13)
        • 컴퓨터 네트워크 (3)
      • 🔧 Backend (20)
      • 🎨 UX & HCI (12)
      • 📊 Data analysis (7)
      • 📚 License study (19)
  • 인기 글

  • hELLO· Designed By정상우.v4.10.3
S J ʕ·͡ᴥ·ʔ
MVC 패턴이란? (Modal-View-Controller)
상단으로

티스토리툴바