>일반적인 문제 >MVVM 패턴과 MVC 패턴의 차이점

MVVM 패턴과 MVC 패턴의 차이점

Guanhui
Guanhui원래의
2020-05-30 16:41:224994검색

MVVM 패턴과 MVC 패턴의 차이점

MVVM 모드와 MVC 모드의 차이점

1. MVVM 모드는 MVC 모드에서 파생되었습니다.

2 MVC 모드는 단방향 통신입니다.

3 , MVVM 모드는 일반적으로 프런트 엔드 개발에 사용되며 MVC 모드는 서버 측에서 더 많이 사용됩니다.


MVC

MVC 모델은 원래 서버 측 웹 개발에 뿌리를 두고 있었지만 나중에 복잡성과 풍부함을 충족하기 위해 클라이언트 측 웹 개발에 능숙해졌습니다.

MVC는 Model-View-Controller의 약어로 애플리케이션을 세 부분으로 나눕니다.

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

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

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

MVC 기능:

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

1. View가 컨트롤러에 명령을 보냅니다.

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

3. Model은 View에 새로운 데이터를 보냅니다.

MVC 장점:

  • 낮은 결합, 뷰 레이어와 비즈니스 레이어의 분리로 모델 및 컨트롤러 코드를 다시 컴파일하지 않고도 뷰 레이어 코드를 변경할 수 있습니다.

  • 높은 재사용성

  • 낮은 수명주기 비용

  • MVC는 사용자 인터페이스 개발 및 유지 관리에 필요한 기술적 내용을 줄입니다.

  • 높은 유지 관리성, 뷰 레이어와 비즈니스 로직 레이어를 분리하면 WEB 애플리케이션을 더 쉽게 만들 수 있습니다. 유지 및 수정

  • 빠른 배포

MVC 단점:

  • 중소 규모 애플리케이션에는 적합하지 않으며 일반적으로 규모가 그리 크지 않은 애플리케이션에 MVC를 적용하는 데 많은 시간이 걸립니다. 이익은 손실보다 클 것입니다.

  • 뷰와 컨트롤러가 너무 밀접하게 연결되어 있습니다. 뷰와 컨트롤러는 서로 분리되어 있지만, 뷰에 컨트롤러가 없으면 적용이 매우 제한되며 그 반대도 마찬가지입니다. 이는 독립적인 재사용을 방해합니다.

  • 모델 데이터에 대한 뷰의 비효율적인 액세스 모델 작업 인터페이스에 따라 충분한 표시 데이터를 얻기 위해 뷰를 여러 번 호출해야 할 수도 있습니다. 변경되지 않은 데이터에 불필요하게 자주 액세스하면 운영 성능이 저하됩니다.

MVC 애플리케이션:

웹 애플리케이션이 대중화되기 시작하면서 MVC는 MVC 패턴을 기반으로 Java(struts2) 및 C#(ASP.NET) 서버 애플리케이션에 적용되었고 이후 클라이언트 애플리케이션에도 적용되었습니다. , AngularJS가 탄생했습니다.

MVVM

MVVM은 Model-View-ViewModel의 약어입니다. Microsoft의 WPF(Windows Presentation Foundation - Microsoft에서 출시한 Windows 기반 사용자 인터페이스 프레임워크)는 새로운 기술 경험을 제공하여 소프트웨어 UI 계층을 더욱 상세하고 사용자 정의할 수 있게 만듭니다. 동시에 기술 수준에서 WPF는 바인딩, 종속성 속성, 라우팅된 이벤트, 명령, DataTemplate 및 ControlTemplate과 같은 새로운 기능도 제공합니다. MVVM 패턴은 사실 MV 패턴과 WPF를 결합한 적용 방식에서 진화한 새로운 아키텍처 패턴이다. 이는 원래의 MVP 프레임워크를 기반으로 하며 점점 더 복잡해지는 고객 요구 사항의 변화에 ​​대처하기 위해 WPF의 새로운 기능을 통합합니다.

MVVM 장점:

MVVM 패턴은 MVC 패턴과 유사합니다. 주요 목적은 뷰와 모델을 분리하는 것입니다. 몇 가지 장점이 있습니다.

  • 낮은 결합도, 뷰는 독립적일 수 있습니다. 모델 변경 및 수정, ViewModel은 다른 "View"에 바인딩될 수 있습니다. View가 변경되면 Model은 변경되지 않고 그대로 유지될 수 있으며, Model이 변경되면 View도 변경되지 않고 유지될 수 있습니다.

  • 재사용성, ViewModel에 일부 뷰 로직을 넣을 수 있으므로 많은 뷰에서 이 뷰 로직을 재사용할 수 있습니다.

  • 독립적인 개발로 개발자는 비즈니스 로직 및 데이터(ViewModel) 개발에 집중할 수 있고, 디자이너는 페이지 디자인에 집중할 수 있습니다. Expression Blend를 사용하면 인터페이스 디자인과 XML 코드 생성이 쉽습니다.

  • 테스트 가능. 인터페이스는 항상 테스트하기 어려웠지만 이제 ViewModel에 대한 테스트를 작성할 수 있습니다.

추천 튜토리얼: "

PHP 튜토리얼"

위 내용은 MVVM 패턴과 MVC 패턴의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.