Back-End

MVC란?

Kr1 2024. 8. 18. 02:15

 

MVC는 모델(Model), 뷰(Viw), 컨트롤러(Controller)를 이용해서 프로그래밍하는 소프트웨어 설계 방법을 뜻함. 이를 MVC 디자인 패턴이라고 함.

 

*소프트웨어 설계적인 측면에서 디자인 패턴(Design Pattern)이란 다른 프로그램이라도 전체적인 설계는 어떤 특정한 패턴을 갖는다는 의미이다. 그리고 이러한 패턴을 정리해서 문서화한 것을 디자인 패턴이라고 한다. 

 

  • 모델(Model)은 데이터베이스와 밀접한 관계를 갖고 비즈니스 로직을 담당한다. 뷰(View)는 클라이언트와 밀접한 관계를 갖고 비즈니스 로직의 결과를 출력하기 위한 화면 구성을 담당한다. 컨트롤러(Controller)는 클라이언트의 요청에 대해 모델과 뷰를 컨트롤하는 업무를 담당한다.

 

 

  • Model은 데이터와 관련된 부분
  • View는 화면을 보여주는 부분 (여기에 템플릿 엔진이 사용됨)
  • Controller는 사용자의 요청을 처리하는 부분

 

 

mvc의 작동 흐름

  1. 사용자가 웹 애플리케이션에서 버튼을 클릭하거나 URL에 접근하면, 컨트롤러가 그 요청을 받습니다.
  2. 컨트롤러는 요청에 맞는 데이터를 모델에서 가져옵니다.
  3. 컨트롤러모델에서 가져온 데이터를 에 전달합니다.
  4. 는 전달받은 데이터를 사용자에게 표시할 HTML 페이지로 렌더링하여 보여줍니다.

 

mvc의 장점

  • 유지보수성: 각 부분이 명확히 분리되어 있어서 코드 수정이나 추가가 용이함.
  • 재사용성: 모델, 뷰, 컨트롤러 각각 독립적으로 동작하므로, 재사용이 가능함.
  • 분업 가능성: 개발자들이 각기 다른 부분을 독립적으로 작업할 수 있음. 예를 들어, 백엔드 개발자는 모델과 컨트롤러를, 프론트엔드 개발자는 뷰를 담당할 수 있음.

 

 

 

출처:

  • 김명호, 『 올인원 스프링 프레임워크 』, 한빛아카데미(2023), 29-30.
  • ChatGPT 

 

'Back-End' 카테고리의 다른 글

템플릿 엔진이란?  (0) 2024.08.18
[Spring Boot] 컨트롤러(Controller)란? +템플릿  (0) 2024.08.12
Maven, pom.xml의 개념  (0) 2024.01.19
Web Server와 WAS의 개념 및 차이  (0) 2024.01.18