본문 바로가기
지식의 협곡/CS & AI

MVC 패턴

by hooni40 2021. 5. 17.
728x90
반응형

CS 및 정처기 공부 DAY3.

MVC패턴을 정리해보자. (우아한 Tech의 영상 참고 및 구글링을 통해 정리하였습니다!)

 

코드에 대한 유지보수가 편해지도록 구성하는 것

 

MVC(Model View Controller)

-. 모델은 애플리케이션의 정보(데이터)를 나타내며, 뷰는 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타내고, 컨트롤러는 데이터와 비즈니스 로직 사이의 상호동작을 관리하는 역할을 한다.

즉, 모델은 데이터와 관련된 부분/ 뷰는 사용자한테 보이는 부분/ 컨트롤러는 모델과 뷰를 이어주는 부분입니다.

이렇게 3가지로 각각의 역할에 집중할 수 있게 한다면 유지보수성/확장성/유연성 증가중복 코딩도 줄어들 것이다. 

 

Wikipedia

◆ MVC 패턴이 적용되는 순서

1. 유저가 Controller에 검색 및 요청(ex. 구글에 검색)

2. Controller는 검색 결과에 대한 데이터를 Model에게 요청

3. Model은 데이터를 Controller에게 전달하고 Controller가 View에 전달

4. View는 사용자가 보는 UI(레이아웃)에 검색결과 데이터를 넣어서 웹에 보여준다

 

실전에서 MVC를 지키는 방법

1. Model은 Controller와 View에 의존하지 않아야 한다.

(Model 내부에 Controller와 View에 관련된 코드가 있으면 안 된다.)

2. View는 Model에만 의존해야 하고, Controller에는 의존하면 안 된다.

(View 내부에 Model 코드만 있을 수 있고, Controller 코드가 있으면 안 된다.)

3. View가 Model로부터 데이터를 받을 때는, 사용자마다 다르게 보여줘야 하는 데이터에 대해서만 받아야 한다.

4. Controller는 Model과 View에 의존해도 된다.

(Controller 내부에는 Model과 View의 코드가 있을 수 있다.)

5. View가 Model로부터 데이터를 받을 때, 반드시 Controller에서 받아야 한다.

 

◆ 느낀 점

유튜브 우아한 Tech에서 테코 톡이라는 것을 처음 보았는데 다들 엄청 설명을 잘해주신다! 앞으로도 꾸준히 챙겨볼 예정이다. MVC 패턴은 큰 숲을 보는 방법이라고 생각되어 실정에서 MVC를 지키는 방법은 몸에 체득시켜놓아야겠다.

728x90
반응형

'지식의 협곡 > CS & AI' 카테고리의 다른 글

RESTful API  (0) 2021.05.23
오픈소스 라이선스  (0) 2021.05.20
API  (0) 2021.05.19
Internet / WEB/HTTP/응답 과정  (0) 2021.05.15
Web Server / WAS  (0) 2021.05.14

댓글