MVC 아키텍처
MVC 아키텍처
MVC?
모델-뷰-컨트롤러
사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴입니다
-mdn 공식 문서-
■ 모델-뷰-컨트롤러란?
1. 모델:
- 데이터와 데이터를 처리하는 로직을 관리
- 처리되는 알고리즘,데이터베이스에 저장된 정보를 CRUD하는 작업, 비즈니스 로직과 데이터베이스 연결 등의 로직들을 주로 작성
- 데이터 유효성 검사, 데이터베이스 트랜잭션 처리, 이벤트 발생 등의 작업을 모델에서 수행
2. 뷰:
- 레이아웃과 화면을 처리 (보여주는 역할)
- 사용자의 입력을 받아 컨트롤러로 전달하는 역할
3. 컨트롤러:
- 사용자의 요청을 전달받아 모델과 뷰를 조작하는 역할
- 데이터를 변경하거나 변경된 데이터를 반영하여 사용자에게 보여줌
■ 장점?
- 모델, 뷰, 컨트롤러가 각각 독립적임 (비즈니스 로직과 사용자 인터페이스 요소를 분리)
- 유지보수가 용이함
- 새로운 기능을 추가하거나 변경이 쉬움
■ 단점?
- 프로젝트 규모가 커질수록 코드의 양이 늘어나고, 복잡해질 수 있음
- 모델과 뷰가 강하게 결합되어 있을 수 있고, 이 경우 유닛테스트나 통합테스트가 어려워짐
참고 사이트
This post is licensed under CC BY 4.0 by the author.