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

MVVM 패턴과 MVC 패턴의 차이점

May 30, 2020 pm 04:41 PM
mvcmvvm

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으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경