본문 바로가기

개발자노트/우아한 테코톡 감상

[10분 테코톡] 우아한테크코스 제리의 MVC패턴

MVC는 왜 생겨난걸까??
- 과거에 유지보수가 너무 불편한 경우가 많아짐
- 코드의 규칙성,패턴들이 보이기 시작해서 이러한 패턴을 하나의 공식처럼 논문으로 발표
=> 유지보수가 편해지는 코드 구성 방식

Model - 데이터와 관련된 일을 하는 곳
View - 사용자한테 보여주는 부분
Controller - 모델과 뷰의 중개자 역할


실전에서 어떻게 MVC를 잘 지키면서 코딩 할 수 있는가??

✔ 1. Model은 Controller와 View에 의존하지 않아야한다.
( Model 내부에 Controller와 View에 관련된 코드가 있으면 안된다. )
모델 클래스에서 컨트롤러와 뷰의 클래스를 임폴트 하면 안됨!!
model은 데이터가 관련된 부분이다 보니 언제든 깔끔하고 정제된 데이터를 꺼내 쓸 수 있어야하기 때문에
데이터에 관련된 코드만 깔끔하게 넣어야 한다.

✔ 2. View는 Model에만 의존해야하고, Controller에는 의존하면 안된다.
(View 내부에 Model의 코드만 있을 수 있고, Controller의 코드가 있으면 안 된다.)

✔ 3. View가 Model로부터 데이터를 받을 때는, 사용자마다 다르게 보여주어야 하는 데이터에 대해서만 받아야한다.
== 뷰는 사용자한테만 보이는 UI와 모델로부터 받은 데이터가 합쳐져 만들어진 화면
* 중요한것은 모든 사용자한테 똑같이 보여져야하는 부분들(모델로부터 받으면 안되고 view에서 자체적으로 가지고 있어야한다.)
  + model로부터 받은 데이터

✔ 4. Controller는 Model과 View에 의존해도 된다.
(Controller 내부에는 Model과 View의 코드가 있을 수 있다.)
-> 컨트롤러는 모델과 뷰의 중개자 역할을 하면서 전체 로직을 구성하기 떄문

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


자료 : https://www.youtube.com/watch?v=ogaXW6KPc8I