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
- Firebase
- Netflix
- 프로젝트
- github
- 계획
- Nomad
- scflix
- 오류
- 자바스크립트
- 마무리
- Project
- 코코아톡
- Clone
- Nomad coder
- TiMER
- HTML
- react-hook
- Vanilla
- react-native
- Hook
- javascript
- CSS
- 클론코딩
- Nicolas
- 느낀 점
- 바닐라 자바스크립트
- vanilla js
- expo
- react
- coding
Archives
- Today
- Total
꾸매코딩
[용어 정리] MVC 디자인 패턴이란 무엇인가? 본문
반응형
디자인 패턴
특정 문맥에서 공통적으로 발생하는 문제에 대해 재사용 가능한 해결책이다.
소스나 기계 코드로 바로 전환될 수 있는 완성된 디자인은 아니며, 다른 상황에 맞게 사용될 수 있는 문제들을 해결하는 데에 쓰이는 템플릿이다.
디자인 패턴은 프로그래머가 애플리케이션이나 시스템을 디자인할 때 공통된 문제들을 해결하는 데에 쓰이는 형식화된 가장 좋은 관행이다. - [위키백과]
MVC란
MVC는 Model-View-Controller의 약자.
하나의 애플리케이션을 구성할 때 그 구성 요소를 세 가지로 구분한 패턴.
사용자 인터페이스로부터 비즈니스 로직을 분리하여,
서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있다.
Model (모델)
애플리케이션의 정보, 프로그램에서 사용되는 데이터를 의미.
데이터베이스(DB), 상수, 문자열과 같은 변수 등을 뜻함.
'무엇'을 할지 정의.
- 뷰, 컨트롤러에 대한 어떠한 정보도 알지 못한다.
- 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다.
- Evenet 발생 시, 이벤트에 대한 처리 방법을 구현해야 한다. (데이터 간의 이동 및 변경)
View (뷰)
사용자들이 볼 수 있도록 출력을 담당하는 부분.
'화면으로 보여주는' 역할
- 모델, 컨트롤러에 대한 어떠한 정보도 알지 못한다.
- 모델의 정보를 따로 저장해서는 안된다. (컨트롤러가 보여주라고 요청하면, 보여주기만 하면 된다)
- Event 발생 시, 이벤트 통지에 대한 처리 방법을 구현해야 한다. (화면상의 변화)
Controller (컨트롤러)
데이터와 사용자인터페이스 요소를 잇는 다리 역할.
사용자의 클릭 밑 수정 등에 대한 이벤트를 처리하는 부분.
'어떻게' 할지 정의
- 뷰, 모델 대해 알고 있어야 한다.
- 뷰, 모델의 변경을 모니터링 해야 한다.
참고자료
https://ko.wikipedia.org/wiki/%EB%AA%A8%EB%8D%B8-%EB%B7%B0-%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC
https://www.essenceandartifact.com/2012/12/
반응형