TIL. MVC

배상건·2022년 4월 11일
0

TIL

목록 보기
8/15

1. MVC 왜 생겨났을까?

mvc가 생겨나기 이전에는,

웹 개발을 위한 데이터, 로직, 출력이 한 곳에 섞어 개발을 진행했었다. 이는 '시스템의 수정'에 대한 필요성보다, 많은 웹을 개발해야했던 시기였기에 문제는 없었다.

그러나, 데이터, 로직, 출력이 한 데 엮이면서 유지보수가 어려워진다는 치명적인 문제점을 해결하지 못했다.

이에, 화면, 로직, 데이터를 분리하자는 아이디어가 나오게 된다. 바로, MVC 패턴이다.

MVC가 생겨나게 된 핵심 이유 : 유지보수!

2. MVC 패턴의 흐름

  1. 클라이언트가 구글에 "코딩"이라고 검색
    1) client-> Controller
  2. "코딩"에 대한 검색 후 검색 결과 데이터를 달라고 요청
    2) Controller -> Model -> Controller
  3. Controller가 Model로부터 전달받은 검색 결과 데이터를 View로 전달
    3) Controller(data) -> view
  4. 클라이언트가 보이는 UI에 검색 결과 데이터를 넣어서 웹 페이지 보여주기

Model : 데이터와 관련된 부분
View : 클라이언트에게 보여지는 부분
Controller : Model과 View를 이어주는 부분

3. MVC 패턴을 지키면서 코딩하는 방법

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

public class StudentModel {
	private String name;
  	private int age;
  
    public StudentModel(String name, int age) {
    	this.name = name;
      	this.age = age;
    }
  
  	public String getName() {
    	return name;
    }
  
  	public int getAge() {
    	return age;
    }
}

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

즉, Model class에서 Controller class와 View class를 import 해서 사용하면 안된다는 것이다.
이는 모델이 데이터와 관련된 부분이기에, 깔끔하고 정제된 데이터를 꺼내 쓸 수 있게 Controller와 View 코드를 함께 사용하지 않고, 데이터와 관련된 코드를 모아 놓은 것으로 이해하면 된다.

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

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

2.1 view가 modell로부터 데이터를 받을 때는, 사용자마다 다르게 보여주어야 하는 데이터에 대해서만 받아야 한다.

영상 참조: 제리의 MVC 패턴

profile
목표 지향을 위해 협업하는 개발자

0개의 댓글