> 일반적인 문제 > MVC, MVP 및 MVVM의 차이점은 무엇입니까?

MVC, MVP 및 MVVM의 차이점은 무엇입니까?

青灯夜游
풀어 주다: 2020-10-12 17:14:42
원래의
24278명이 탐색했습니다.

차이점: MVC는 "Model-View-Controller", MVP는 "Model-View-Presenter", MVVM은 "Model-View-ViewModel"을 의미하며 MVP와 MVVM은 모두 MVC에서 파생됩니다. MVC에서 View는 Model에서 직접 데이터를 읽습니다. MVP에서는 View가 Model을 직접 사용하지 않습니다.

MVC, MVP 및 MVVM의 차이점은 무엇입니까?

MVC, MVP 및 MVVM은 세 가지 인기 있는 디자인 패턴입니다. 그 중 MVC는 모델-뷰-컨트롤러, MVP는 모델-뷰-프레젠터, MVVM은 모델-뷰-뷰 모델을 의미하며 MVP와 MVVM은 모두 MVC에서 파생됩니다. 이러한 모든 디자인 패턴은 일반적으로 테스트 및 유지 관리가 용이하고 느슨하게 구성된 애플리케이션을 개발하는 데 도움이 됩니다.

1. MVC (Model-View-Controller)

MVC는 처음에는 서버 측 웹 개발에 뿌리를 두고 있지만 점차 클라이언트 측 웹 개발에 능숙해졌습니다. 그 복잡함과 풍부함을 만날 수 있습니다.

MVC, MVP 및 MVVM의 차이점은 무엇입니까?

MVC 패턴은 애플리케이션을 세 부분으로 나눕니다.

 ● Model: 모델(애플리케이션의 비즈니스 로직 및 데이터 처리 방법과 관련된 데이터를 캡슐화하는 데 사용)

 ● View: 보기( 렌더링 페이지 )

●컨트롤러: 컨트롤러(M과 V 사이의 커넥터, 애플리케이션 프로세스 및 페이지의 비즈니스 로직을 제어하는 ​​데 사용됨)

MVC 기능:

MVC 패턴의 특징은 주의를 끌기 위한 것입니다. 포인트 분리, 즉 애플리케이션의 비즈니스 및 프리젠테이션 로직에서 데이터 모델을 분리하는 것입니다. 클라이언트 측 웹 개발에서 코드는 모델(M-데이터, 작업 데이터)과 뷰(데이터를 표시하는 V-HTML 요소) 간에 분리되고 느슨하게 결합되므로 클라이언트 애플리케이션을 더 쉽게 개발, 유지 관리 및 테스트할 수 있습니다.

사용자 작업->뷰(사용자 입력 작업 수신 담당)->컨트롤러(비즈니스 로직 처리)->모델(데이터 지속성)->뷰(결과를 뷰에 피드백):

 1. 뷰

 2. 컨트롤러가 비즈니스 로직을 완료한 후 모델이 상태를 변경해야 합니다.

 3. 모델이 View에 새 데이터를 보내고 사용자는 피드백을 받습니다.

2. MVP (Model-View-Presenter)

MVP는 MVC의 Controller를 Presenter(프레젠테이션)로 대체하여 View와 Model 사이의 연결을 완전히 끊는 것이 목적입니다. View-Model 간의 통신 방향을 완전히 분리하기 위해 Bridge 역할을 하는 Presenter입니다.

MVC, MVP 및 MVVM의 차이점은 무엇입니까?

MVP 기능:

 ● M, V, P 간의 양방향 통신.

●View와 Model 사이에는 통신이 없으며 모두 Presenter를 통해 전달됩니다. Presenter는 Model과 View를 완전히 분리하며, 주요 프로그램 로직은 Presenter에서 구현됩니다.

● View는 매우 얇으며 비즈니스 로직을 배포하지 않습니다. 즉, 이니셔티브가 없는 반면 Presenter는 매우 두껍고 모든 로직이 배포됩니다.

 ● Presenter는 특정 View와 직접적인 관련이 없고, 정의된 인터페이스를 통해 상호작용하므로 View가 변경되더라도 Presenter는 그대로 유지되어 재사용이 가능합니다. 뿐만 아니라, 테스트 보기를 작성하여 다양한 사용자 작업을 시뮬레이션하여 Presenter를 테스트할 수도 있으므로 자동화된 테스트 도구를 사용할 필요가 없습니다.

3. MVVM(Model-View-ViewModel)

MVVM 모드는 Presenter의 이름을 ViewModel로 변경하며 기본적으로 MVP 모드와 동일합니다. MVP가 MVC를 더욱 개선한 것이라면 MVVM은 사고의 완전한 변화입니다. "데이터 모델 데이터의 양방향 바인딩"이라는 아이디어를 핵심으로 삼기 때문에 View와 Model 사이에는 연결이 없으며 ViewModel을 통해 상호 작용하고 Model과 ViewModel 사이의 상호 작용은 양방향이므로 뷰의 데이터가 변경되면 동시에 데이터 소스가 수정되며, 데이터 소스 데이터의 변경 사항이 뷰에 즉시 반영됩니다.

MVC, MVP 및 MVVM의 차이점은 무엇입니까?

요약:

MVC에서 View는 Controller를 통하지 않고 Model에서 직접 데이터를 읽습니다. View와 Controller 사이에는 다대일 관계가 있습니다.

MVP에서 View는 Model을 직접 사용하지 않으며 Presenter(MVC의 컨트롤러)를 통해 수행됩니다. View와 Presenter 사이에는 일대일 관계가 있습니다.

MVVM 모드는 기본적으로 MVP 모드와 동일합니다. 유일한 차이점은 MVVM이 양방향 바인딩(데이터 바인딩)을 사용한다는 것입니다. View의 변경 사항은 ViewModel에 자동으로 반영되고 그 반대의 경우도 마찬가지입니다.

위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주의 깊게 살펴보세요! ! !

위 내용은 MVC, MVP 및 MVVM의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿