Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- static
- 업캐스팅
- java
- 레포지토리설계
- 자바
- qclass
- 스프링부트
- 형변환
- 엔티티설계
- 메소드
- 네트워크
- http
- 프로젝트
- 웹스토리지 사용법
- 코린이
- 생성자
- 한번에insert하기
- 기초
- git commit취소
- JPA
- MySQL
- java기초
- 웹동작방식
- 오버라이딩
- 스프링시큐리티
- 파비콘에러
- 다운캐스팅
- 0으로변환
- Git
- 상속
Archives
- Today
- Total
딱콩이의 봄
MVC패턴이란? 본문
MVC란 Model-View-Controller의 약자로 애플리케이션을 세 가지 역할로 구분한 개발 방법입니다. 아래의 그림처럼 사용자가 Controller를 조작하면 Controller는 Model을 통해 데이터를 가져오고 그 데이터를 바탕으로 View를 통해 시각적 표현을 제어하여 사용자에게 전달하게 됩니다.
모델(MODEL)
데이터를 가진 객체를 모델이라고 지칭합니다. 데이터는 내부의 상태에 대한 정보를 가질 수도 있고, 모델을 표현하는 이름 속성으로 가질 수 있습니다. 비즈니스 로직을 처리한 후 모델의 변경사항을 컨트롤러와 뷰에 전달하고, 모델의 변경사항을 전달함으로써 뷰는 최신의 결과를 보여줄 수 있고, 컨트롤러는 모델의 변화에 따른 적용 가능한 명령을 추가, 제거, 수정할 수 있습니다.
모델의 규칙
- 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야만 합니다.
- 뷰나 컨트롤러에 대해서 어떠한 정보도 알지 말아야 합니다.
- 변경이 일어나면 변경 통지에 대한 처리 방법을 구현해야 합니다.
뷰(View)
View는 HTML/CSS/Javascript 들을 모아둔 컨테이너입니다. 사용자가 볼 결과물을 생성하기 위해 모델로부터 데이터 정보를 얻어옵니다.
뷰의 규칙
- 모델이 가지고 있는 정보를 따로 저장해서는 안됩니다.
- 모델이나 컨트롤러와 같이 다른 구성 요소를 몰라야 합니다.
- 변경이 일어나면 변경 통지에 대한 처리방법을 구현해야 합니다.
컨트롤러(Controller)
컨트롤러는 앱의 사용자로부터의 입력에 대한 응답으로 모델 및/또는 뷰를 업데이트하는 로직을 포함합니다.
컨트롤러의 규칙
- 모델이나 뷰의 정보를 알고 있어야 합니다.
- 모델이나 뷰의 변경을 모니터링해야 합니다.
MVC패턴을 사용해야 하는 이유
- 비즈니스 로직과 UI로직을 분리하여 유지보수를 독립적으로 수행이 가능합니다.
- Model과 View가 다른 컴포넌트들에 종속되지 않아 애플리케이션의 확장성, 유연성에 유리합니다.
- 중복 코딩의 문제점을 제거합니다.
Reference
'개발 > Spring' 카테고리의 다른 글
Spring Security (0) | 2023.02.02 |
---|---|
DI, IoC (0) | 2022.08.18 |
라이브러리와 프레임워크의 차이 (0) | 2022.08.17 |
Comments