IT 지식 끄적 끄적

MVC 패턴 - 소프트웨어 디자인 패턴

코소미 2021. 3. 31. 15:44

MVC 패턴

 

MVC - Model-View-Controller (모델-뷰-컨트롤러) 

 

'소프트웨어 디자인 패턴'

MVC패턴은 Model-View-Controller의 약자로서

개발을 할 때 3가지 형태로 역할을 나누어 개발하는 방법론이다.

 

 

 

사용자 인터페이스로부터 비즈니스 로직을 분리하여

애플리케이션의 시각적 요소나 그 이면에서 실행되는

비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는

애플리케이션을 만들기 위해 사용하는 디자인 패턴을 MVC 패턴이라고 한다.

 

MVCModel(모델) - View(뷰) - Controller(컨트롤러) 를 의미하는데,

풀어서 이야기 하자면

1) 사용자가 직접 사용하고 보는 페이지와 데이터 처리를 하는곳 

2) 이 두가지를 중간에서 제어하는 컨트롤러 

이 세가지 구성을 하나의 애플리케이션으로 만들면 

각각 맡은 역할에 집중 할 수 있게 개발을 한다면

유지보수, 애플리케이션 확장성, 유연성 증가라는 장점과 중복 코딩과 같은 문제점을 해결 할 수 있다.

 

📌 MVC 패턴을 사용해야 하는 이유

1. 비즈니스 로직과 UI로직을 분리하여 유지보수를 독립적으로 수행 가능

2. Model과 View가 다른 컴포넌트들에 종속되지 않아 애플리케이션의 확장성, 유연성에 유리함

3. 중복 코딩의 문제점 제거

 

 

Model(모델) - View(뷰) - Controller(컨트롤러) 각각 자세히 알아보자 !

 

Model 

데이터를 가진 객체를 모델이라고 지칭한다.

데이터는 내부의 상태에 대한 정보를 가질 수도 있고, 모델을 표현하는 이름 속성으로 가질 수 있다.

 

애플리케이션이 무엇을 할 건지 정의하는 부분이다.

즉, 컨트롤러가 요청을 하면 그 요청에 맞는 역할을 수행한다. 

비즈니스 로직을 구현하는 영역으로 응용프로그램에서 데이터를 처리하는 부분이다.

 

애플리케이션의 정보(데이터)를 나타낸다.

 

Controller 

클라이언트에게 요청(URL)을 받았을 때, 그 요청에 대해 실제 업무를 수행하는 모델(Model) 컴포넌트를 호출한다.

또한 클라이언트가 보낸 데이터가 있다면 모델에게 전달하기 쉽게 데이터를 가공한다.

모델이 업무를 마치면 그 결과를 뷰에게 전달한다.

 

데이터와 비즈니스로직 사이의 상호동작을 관리

 

View

 컨트롤러로 부터 받은 모델의 결과값을 가지고 사용자에게 출력할 화면을 만드는 일을 한다.

만들어진 화면을 웹브라우저저에게 전송하여 웹브라우저가 출력하게 하는것이다.

화면에 표시되는 부분으로 추출한 데이터나 일반적인 텍스트 데이터를 표시하거나

입력폼 또는 사용자와의 상호작용을 위한 인터페이스를 표시하는 영역이다.

 

 

 

비즈니스 로직이란? 업무에 필요한 데이터처리를 수행하는 응용프로그램의 일부라고 할 수 있다.

데이터베이스에 연결하고 데이터를 추출하거나 저장,삭제,업데이트,변환 등의 작업을 수행한다.

상태의 변화가 있을때 컨트롤러와 뷰에 통보해 후속 조치 명령을 받을 수 있게 한다.