패턴 | 설명 |
---|---|
모델, Model - (M) | 데이터를 처리하는 영역 비즈니스 로직을 처리하는 영역 데이터베이스와 통신하고, 사용자가 원하는 데이터를 가공 |
뷰, View - (V) | 사용자가 보는 화면을 의미하며, HTML과 타임리프를 이용해서 화면을 처리 (뷰 = 화면 = 사용자) |
컨트롤러, Controller - (C) | 쉽게 이야기하면, 모델(M) 영역과 뷰(V) 영역의 중간 다리 역할을 하는 영역 사용자가 웹에서 어떠한 요청을 하면, 가장 먼저 컨트롤러를 경유합니다. 컨트롤러는 사용자의 요청을 처리할 어떠한 로직을 호출하고, 호출한 결과를 사용자에게 전달하는 역할을 합니다. 예를 들어, 사용자가 게시판에 게시글을 작성하고 등록을 요청하면, 컨트롤러는 게시글의 제목, 내용, 작성자, 등록일 등에 해당하는 파라미터(이하 데이터)를 전달받아 유효성을 검증합니다. 검증이 완료되면, 모델 영역에 데이터의 가공을 요청합니다. 가공이 완료되면 전달받은 데이터를 데이터베이스에 저장하고, 저장의 성공 또는 실패 여부를 컨트롤러로 전달합니다. 마지막으로 컨트롤러는 등록 요청에 대한 결과를 뷰로 전달합니다. |