[22/01/14]MVC 에 대해

Que Lin·2022년 1월 14일
1

1day 1commit

목록 보기
7/63

참고 :
https://developer.mozilla.org/ko/docs/Glossary/MVC

https://m.blog.naver.com/tlstjd436/222010976665

MVC를 쓰는 이유 : 각 구성요소를 독립시킴으로써 각 팀으로 하여금 맡은 부분의 개발에만 따로 집중 할 수 있게 하여 개발의 효율성을 높일 뿐만 아니라. 개발 완료 후에도 유지보수성과 확장성을 보장한다.

모델

: 데이터와 비즈니스 로직을 관리

모델은 데이터가 무엇인지를 정의. 데이터의 상태가 변경되면 모델을 일반적으로 뷰에게 알리며(필요한대로 화면을 변경할 수 있다) 컨트롤러에게 알리기도 함(업데이트된 뷰를 제거하기 위해 다른 로직이 필요한 경우).
ex> 모델은 리스트 항목이 포함해야 하는 데이터 (품목, 가격, 등) 와 이미 존재하는 리스트 항목이 무엇인지를 지정함

:레이아웃과 화면을 처리.

뷰는 앱의 데이터를 보여주는 방식을 정의
모델로부터 표시할 데이터를 받아 보여줌

컨트롤러

:명령을 모델과 뷰 부분으로 라우팅.

※ 라우팅 (routing) : 어떤 네트워크 안에서 통신 데이터를 보낼 때 최적의 경로를 선택하는 과정
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=ljsun4336&logNo=220544726584

사용자로부터의 입력(뷰에서)에 대한 응답으로 모델 및/또는 뷰를 업데이트하는 로직을 포함.

뷰 - 항목을 추가하거나 제거할 수 있게 해주는 입력 폼과 버튼.
-> 컨트롤러 - 이러한 액션들은 모델이 업데이트되는 것이므로 입력이 컨트롤러에게 전송
-> 모델을 처리 -> 업데이트된 데이터를 뷰로 전송

단순히 데이터를 다른 형태로 나타내기 위해 뷰를 업데이트하고 싶을 수도 있다(ex.항목을 알파벳순서로 정렬한다거나, 가격이 낮은 순서 또는 높은 순서로 정렬). 이런 경우에 컨트롤러는 모델을 업데이트할 필요 없이 바로 처리 가능

profile
1일 1커밋 1일 1벨로그!

0개의 댓글