본문 바로가기
Web/backend

MVC 패턴

by yongmin.Lee 2020. 10. 30.

소프트웨어 아키텍쳐 와 디자인 패턴

- 소프트웨어 아키텍처란, 소프트웨어의 특성을 고려하여 소프트웨어의 구성요소들 사이의 관계를 표현하는 것으로 이후 소프트웨어의 설계와 업그레이드를 통제하는 원칙이된다.

- 디자인 패턴이란, 소프트웨어의 모듈들이 어떤 기능을 하는지, 클래스의 범위, 함수의 목적 등 코드 수준의 디자인을 표현하는 것으로, 상황에 따라 자주 쓰이는 설계 방법들을 정리하여 재사용하기 좋은 형태로 패턴화 시켰다.

 

MVC (Model , View , Controller) 패턴

 

- 정의 : 대표적인 디자인 패턴중 하나로, 하나의 애플리케이션을 Model , View , Controller 세가지의 역할로 구분한 패턴

- 장점 : 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있다.

- 동작원리 : 사용자가 Controller를 조작하면 Controller는 Model을 통해서 데이터를 가져오고 그 정보를 바탕으로 시각적인 표현을 담당하는 View를 제어해서 사용자에게 전달한다.

 

- Model : The central component of the pattern. It is the application's dynamic data structure, independent of the user interface. It directly manages the data, logic and rules of the application.

- View : Any representation of information such as a chart, diagram or table. Multiple views of the same information are possible, such as a bar chart for management and a tabular view for accountants.

- Controller : Accepts input and converts it to commands for the model or view

 

좀 더 쉽게 요약하자면

1. 클라이언트가 API로 데이터를 요청 // Client → Controller

2. 데이터베이스에 데이터를 요청 // Controller → Model

3. 요청에 따라서 데이터를 관리 및 응답 // Model → Controller

4. 응답 받은 데이터를 클라이언트로 전송 // Controller → View

5. 데이터를 화면으로 나타냄 // View → Client

'Web > backend' 카테고리의 다른 글

쿠키, 세션, 캐시  (0) 2020.11.07
HTTP vs HTTPS  (0) 2020.11.07
express (2) : 요청과 응답, 쿠키와 세션, REST API와 라우팅  (0) 2020.10.24
express (1) : 웹서버 생성, 미들웨어, 라우팅  (0) 2020.10.24
SNS 로그인 flow  (0) 2020.10.24