Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags more
Archives
Today
Total
관리 메뉴

요리사에서 IT개발자로

(스파르타 코딩클럽) mvc 패턴이란 본문

TIL

(스파르타 코딩클럽) mvc 패턴이란

H.S-Backend 2024. 7. 19. 08:58

MVC(model -view- controller)

소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴

 

사용자의 인터페이스로 비즈니스 로직을 분리,

 

애플리케이션의
시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 

서로 영향없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있다.

 

MVC에서

모델(View)은 애플리케이션의 정보(데이터)를 나타내며,

뷰(View)는 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소

컨트롤러(Controller)는 데이터와 비즈니스 로직 사이의 상호 동작을 관리한다.(Service, Controller)

 

모델(Model)

컴포넌트를 의미한다.

애플리케이션의 정보, 데이터를 나타내고 데이터 베이스 처음의 상수, 초기화, 변수 등을 뜻한다.

 

뷰(View)

사용자에게 보여지는 부분, 유저 인터페이스를 의미한다.

MVC패턴은 여러개의 View가 존재할 수 있고 모델에게 질의하여 데이터를 전달받는다.

뷰(View)는 받은 데이터를 화면에 표시해주는 역할을 갖고있고,

모델에게 전달받은 데이터를 별도로 저장하지 않아야한다.

사용자가 화면에 표시된 내용을 변경할 시 모델에게 전달하여 모델을 변경해야한다.

 

컨트롤러(Controller)

모델과 뷰 사이를 이어주는 다리 역할을한다.

모델이나 뷰는 서로의 존재를 모른다.

변경사항을 외부로 알리고 수신하는 방법만있다.

컨트롤러는 이를 중재하기 위해서 모델과 뷰에 대해 알고 있어야하고 모델이나 뷰로부터 변경내용을 통지를 받으면 이를 각 구성 요소에게 통지해야한다. 


MVC패턴의 장점

가진 시스템의 각 컴포넌트는 자신이 맡은 역할만 수행하고

다른 컴포넌트로 결과만 넘겨주기에 시스템 결합도를 낮출 수 있다.

 

유지보수 시에도 특정 컴포넌트만 수정하면되서 보다 쉽게 시스템 변경이 가능하다.

기능별로 코드를 분리하여 하나의 파일에 코드가 모이는 것을 방지하여 코드의 가독성과 확장성 재사용성이 증가한다.

MVC패턴은

 

대규모 프로그램의 경우

다수의 뷰와 모델이 컨트롤러를 통해 연결되기에 컨트롤러가 불필요하게 커지는 현상이 발생한다.

복잡한 화면을 구성하는경우 동일한 현상이 발생하는데 이를 

Massive-VIew-Controller라 한다.

 

 

 

 

https://velog.io/@eunhye_k/MVC-%ED%8C%A8%ED%84%B4%EC%9D%98-%EC%9D%B4%ED%95%B4

 

MVC 패턴

MVC(model–view–controller)는 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴입니다.이 패턴을 성공적으로 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의

velog.io

반응형