mvvm 프레임워크란 무엇입니까?
mvvm 프레임워크에는 다음이 포함됩니다. 1. MVVM 패턴을 구현하는 경량 프레임워크 2. Prism 프레임워크 3. MVVM 클래스용 오픈 소스 프레임워크 5. Cinch 프레임워크 , MVVM Foundation Framework
MVVM을 구현하기 위한 프레임워크
1. 가장 강력하고 다양한 구성 프레임워크 - Prism
다운로드 주소: http://compositewpf.codeplex.com/
개발자: Microsoft 패턴 및 사례 팀
Silverlight 지원: 예
학습 자료: WPF 및 Silverlight에 대한 복합 응용 프로그램 지침 - 2010년 5월.chm 및 Quickstarts 및 StockTraderRI 등
소스 코드 스크린샷은 다음과 같습니다.
Prism - 이전에는 WPF 및 Silverlight용 복합 애플리케이션 지침으로 알려졌으며, WPF/Silverlight를 기반으로 하는 복잡한 기업 수준 애플리케이션을 구축하기 위한 주류 프레임워크입니다. Prism에는 몇 가지 중요한 개념이 있습니다:
1. BootStrapper: 애플리케이션 진입점, Prism의 UnityContainer 또는 MEF에서 제공하는 MefUnityContainer를 상속하고 시스템에 대한 컨테이너를 제공합니다.
2. Shell: UI 요소와 영역을 통해 페이지를 레이아웃하는 쉘입니다. 애플리케이션의 최상위 창이며 표시되는 내용은 일반적으로 View에 의해 채워집니다. Shell 자체는 어떤 내용이 포함되어 있는지 알지 못하므로 각 모듈에서 기능을 구체적으로 제공합니다.
3. 보기: MVP 모드 및 MVVM 모드의 보기와 동일합니다. IRegionManager를 통해 Region에 주입할 수 있습니다.
4. 모듈: 대규모 프로젝트는 여러 부분으로 나눌 수 있습니다. 각 모듈에는 뷰, 데이터, 모델이 포함되어 있으며 주로 복잡한 비즈니스 운영을 구현하는 데 사용됩니다.
5. IModuleManager: 주로 모듈 로딩을 관리하는 데 사용되며 동적 로딩을 달성할 수 있습니다.
6. IEventAggregator: MVVM 프레임워크의 일반적인 관행이기도 한 구독 및 게시 모드를 구현하는 이벤트 처리 인터페이스입니다.
Prism은 MEF 도입과 4.0의 기능 조정 이후 더욱 강력해진 조합 프레임워크입니다. Microsoft 팀이므로 선택할 가치가 있습니다.
2. 가장 강력하고 다재다능한 애플리케이션 프레임워크 - Caliburn
다운로드 주소: http://caliburn.codeplex.com/
개발자: Rob Eisenberg
Silverlight를 지원합니까?: 예
학습 자료: 저는 주로 프로젝트 예제, 소스코드, 단위 테스트 케이스, 일부 외국 블로그와 커뮤니티를 참고합니다.
소스 코드의 스크린샷은 다음과 같습니다.
Caliburn에는 몇 가지 중요한 개념이 있습니다.
1 액션 기반 명령에는 다중 매개변수, 필터링 작업 및 비동기 호출을 포함한 많은 기능이 있습니다.
2. 양식 및 컨트롤의 수명 주기 이벤트도 비교적 잘 처리됩니다(활성화, 비활성화, 종료 등 포함).
3. 전체 프레임워크와 이 프레임워크를 기반으로 하는 애플리케이션 모두의 테스트 가능성이 상대적으로 좋습니다.
4는 프로젝트에 더 유용한 많은 공통 기능을 제공합니다.
5 MVVM 모드 지원 외에도 MVP 모드 및 기타 변형 모드도 지원합니다.
6 강력한 종속성 주입 프레임워크와 AOP 프레임워크 중 하나를 여기에서 유연하게 선택할 수 있습니다.
Caliburn은 프로젝트 사용이든 코드 연구이든 많은 기능을 유연하고 다양하게 구현하는 매우 강력한 MVVM 애플리케이션 프레임워크입니다.
3. 가볍고 적용 가능한 MVVMLight
MVVMLight는 MVVM 패턴(Prism 관련)을 구현하는 경량 프레임워크로, WPF, Windows Phone, Windows 8 및 SilverLight 관련 프로젝트를 개발하는 데 더 도움이 될 수 있습니다.
MVVMLight의 작성자 Laurent Bugnion은 Microsoft MVP입니다. 작성자는 Codeplex(http://mvvmlight.codeplex.com/)에 코드를 오픈 소스로 제공했습니다.
MVVMLight 공식 홈페이지: http://www.mvvmlight.net/ 관심이 있으시면 자세한 소개와 영상 자료를 확인하실 수 있습니다.
다운로드 주소 : http://mvvmlight.codeplex.com/
개발자 : Laurent Bugnion
지원 Silverlight : 예
학습 자료 : 온라인 문서 외에 프로젝트 예제, 소스 코드, 단위 테스트 등을 주로 참고합니다. 사례, 일부 해외 블로그 및 커뮤니티. 게다가 이 세 기사는 MVVMLight
1부 - 소개, 설치 및 일반 응용 프로그램 디자인 주제
2부 - MVVM Light 주제
를 사용하여 비교적 완전한 Silverlight 엔터프라이즈 프로젝트를 개발했습니다. 3부 - 사용자 정의 인증, 비밀번호 재설정 및 사용자 유지 관리
소스 코드 스크린샷은 다음과 같습니다.
MVVMLight에는 몇 가지 중요한 개념이 있습니다.
1. RelayCommand: Command를 캡슐화하면 WPF 및 Silverlight에서 MVVM 모드를 더 쉽게 사용할 수 있습니다. ViewModel에서 각 RelayCommand를 정의한 다음 Command를 사용하여 ViewModel에 정의된 RelayCommand를 View에서 바인딩하면 WinForm 및 ASP.NET 이벤트와 동일한 효과를 얻을 수 있지만 여기서는 UI와 로직이 강력한 결합을 제거합니다. .
2. Messager: MVVMLight의 Messager는 앞서 언급했듯이 MVVM 모드는 ViewModel과 View의 강력한 참조를 제거하므로 어떻게 상호 작용합니까? ViewModel과 View가 통신할 수 있도록 하는 데 사용됩니다. 일반적으로 정적 AppMessages 클래스를 일반 통신 클래스로 정의합니다. 원칙은 게시-구독 모델입니다.
3, EventToCommand: MVVM Light Toolkit V3에 도입된 추가 동작 개념과 유사합니다.
4. ICleanup 인터페이스: View가 표시되면 데이터를 지우기 위해 Cleanup 메서드를 먼저 호출해야 합니다. 이 작업도 ViewModel과 View의 결합 격리로 인해 필요합니다.
MVVMLight는 VS 및 Blend를 위한 템플릿과 지능형 감지를 제공하는 매우 사용하기 쉬운 MVVM 프레임워크입니다. MEF와 함께 사용하면 정말 가볍고 효율적인 느낌이 들며 WPF 및 Silverlight, 특히 Silverlight 지원을 제공하므로 일반적으로 더 유망한 경량 Silverlight MVVM 모드를 선택합니다.
4. 모든 기능을 갖추고 사용하기 쉬운 MVVM 도우미
다운로드 주소: http://mvvmhelpers.codeplex.com/
개발자: Mark Smith
지원 Silverlight: 아니요
학습 자료: http://www.julmar.com/blog/mark/ 및 제공된 예제, 소스 코드 및 테스트 사례.
소스 코드 스크린샷은 다음과 같습니다.
MVVM Helpers는 JulMar MVVM Helpers + Behaviors라고도 하며 몇 가지 중요한 개념을 가지고 있습니다.
1 ViewModel, View 및 Model을 포함한 MVVM 모드의 기본 기능을 제공합니다. 격리하고 일부 공통 기능도 제공합니다.
2. ViewModel 생성이 태그 형태로 주입되며 이제 MEF도 도입할 수 있습니다.
3. IOC/DI 지원, 속성에는 검증 메커니즘이 있으며, 뷰 모델을 사용한 후 시간에 맞춰 해제될 수 있는 대기 커서 지원을 통해 메모리 누수를 방지합니다.
4. 일반적으로 사용되는 연결 동작을 지원합니다.
5. 강력한 참조로 인한 결합을 방지하기 위한 메시지 메커니즘 도입.
MVVM Helpers는 매우 적용 가능한 MVVM 프레임워크이며, 특히 일반적인 MVVM 기능 + MEF + 연결된 동작을 제공하므로 프로젝트의 문제를 기본적으로 해결할 수 있습니다.
5, 강력하고 가벼운 Cinch
다운로드 주소: http://cinch.codeplex.com/
개발자: Sacha Barber
Silverlight 지원: 아니요
학습 자료: http://sachabarber.net/ 예제, 소스 코드 및 테스트 케이스를 제공했습니다.
소스코드 스크린샷은 다음과 같습니다.
코드를 잘 살펴보면 위에서 언급한 MVVM Helpers와 유사한 코드가 많이 있다는 것을 알 수 있습니다. :-디. Cinch에는 몇 가지 중요한 개념이 있습니다.
1. 이 프레임워크는 MEF가 등장하기 전에 이미 ViewModel과 View 사이에 강력한 참조 격리를 구현했습니다. 여기에는 일반 IOC 구성이나 전송용 IView가 없으며 양식 및 컨트롤의 수명 주기 이벤트도 없습니다. 처리도 비교적 잘 되어 있어서 이 점에서는 매우 좋습니다.
2는 일반적으로 사용되는 연결된 동작에 대한 지원을 제공하고 몇 가지 일반적인 MVVM 기능도 제공합니다.
3. DI/IOC는 시스템에서 예측할 수 없는 오류를 방지하기 위해 Unity와 멀티 스레드를 사용하여 구현됩니다.
4. 뷰모델은 사용 후 시간에 맞춰 해제될 수 있으므로 메모리 누수를 방지하고 확인 메커니즘을 추가하며 공통 탐색을 구현합니다.
5. 강력한 참조로 인한 결합을 방지하기 위한 메시지 메커니즘 도입.
Cinch는 특히 전체 애플리케이션 구성에 중점을 두기 때문에 매우 강력한 프레임워크이므로 더욱 인기가 높습니다.
6. 간단한 기능과 쉬운 확장성을 갖춘 MVVM Foundation
다운로드 주소: http://mvvmfoundation.codeplex.com/
개발자: Josh Smith
지원 Silverlight: 아니요
학습 자료: http:/ / joshsmithonwpf.wordpress.com/ 및 제공된 예제, 소스 코드 및 테스트 사례.
소스 코드 스크린샷은 다음과 같습니다.
MVVM Foundation에는 몇 가지 중요한 개념이 있습니다.
1 메신저: 주로 다양한 ViewModel(예: 상호 연관된 ViewModel, 마스터-슬레이브 ViewModel) 간의 통신에 사용됩니다. 등), 물론 ViewModel과 View 간의 통신을 위해 확장될 수도 있습니다.
2. ObservableObject: 이는 ViewModelBase의 개념과 동일합니다. 각 ViewModel은 이 클래스에서 상속되며 메모리 누수를 방지하기 위해 호출이 완료된 후 즉시 해제됩니다.
3. PropertyObserver: 주로 INotifyPropertyChanged.PropertyChanged를 캡슐화합니다. 이 캡슐화는 코드를 단순화하고 부적절한 작업으로 인한 메모리 누수를 방지할 수 있습니다.
4. RelayCommand 인터페이스: 실행 실행 로직, 선택적 실행 가능 로직 등을 포함하는 명령문을 캡슐화합니다. 외부적으로는 인스턴스화하고 바인딩만 하면 쉽게 사용할 수 있습니다.
MVVM Foundation은 매우 간단한 MVVM 프레임워크입니다. 소스 코드를 공부하기 어렵다면 먼저 이 프레임워크부터 시작해 보세요.
더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 학습 웹사이트를 방문하세요! !
위 내용은 mvvm 프레임워크란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

Java 프레임워크에 대한 상용 지원의 비용/성능 평가에는 다음 단계가 포함됩니다. 필요한 보증 수준과 SLA(서비스 수준 계약) 보장을 결정합니다. 연구지원팀의 경험과 전문성. 업그레이드, 문제 해결, 성능 최적화와 같은 추가 서비스를 고려하십시오. 위험 완화 및 효율성 향상을 기준으로 비즈니스 지원 비용을 평가합니다.

PHP 프레임워크의 학습 곡선은 언어 숙련도, 프레임워크 복잡성, 문서 품질 및 커뮤니티 지원에 따라 달라집니다. PHP 프레임워크의 학습 곡선은 Python 프레임워크에 비해 높고 Ruby 프레임워크에 비해 낮습니다. Java 프레임워크에 비해 PHP 프레임워크는 학습 곡선이 적당하지만 시작하는 데 걸리는 시간이 더 짧습니다.

벤치마크에 따르면 소규모 고성능 애플리케이션의 경우 Quarkus(빠른 시작, 낮은 메모리) 또는 Micronaut(TechEmpower 우수)가 이상적인 선택입니다. SpringBoot는 대규모 풀 스택 애플리케이션에 적합하지만 시작 시간과 메모리 사용량이 약간 느립니다.

경량 PHP 프레임워크는 작은 크기와 낮은 리소스 소비를 통해 애플리케이션 성능을 향상시킵니다. 그 특징은 다음과 같습니다: 작은 크기, 빠른 시작, 낮은 메모리 사용량, 향상된 응답 속도 및 처리량, 리소스 소비 감소 실제 사례: SlimFramework는 500KB에 불과한 REST API를 생성하며 높은 응답성과 높은 처리량을 제공합니다.

Golang 프레임워크에서는 명확하고 포괄적인 문서를 작성하는 것이 중요합니다. 모범 사례에는 Google의 Go 코딩 스타일 가이드와 같은 확립된 문서 스타일을 따르는 것이 포함됩니다. 제목, 부제, 목록 등 명확한 조직 구조를 사용하고 탐색 기능을 제공하세요. 시작 안내서, API 참조 및 개념을 포함하여 포괄적이고 정확한 정보를 제공합니다. 코드 예제를 사용하여 개념과 사용법을 설명합니다. 문서를 계속 업데이트하고, 변경 사항을 추적하고, 새로운 기능을 문서화하세요. GitHub 문제 및 포럼과 같은 지원 및 커뮤니티 리소스를 제공합니다. API 문서와 같은 실용적인 예제를 만듭니다.

애플리케이션 시나리오를 기반으로 최고의 Go 프레임워크를 선택하세요. 애플리케이션 유형, 언어 기능, 성능 요구 사항 및 생태계를 고려하세요. Common Go 프레임워크: Gin(웹 애플리케이션), Echo(웹 서비스), Fiber(높은 처리량), gorm(ORM), fasthttp(속도). 실제 사례: REST API(Fiber) 구축 및 데이터베이스(gorm)와 상호 작용. 프레임워크를 선택하세요. 주요 성능을 위해서는 fasthttp를 선택하고, 유연한 웹 애플리케이션을 위해서는 Gin/Echo를, 데이터베이스 상호작용을 위해서는 gorm을 선택하세요.

다양한 분야에 대한 Java 프레임워크 학습 로드맵: 웹 개발: SpringBoot 및 PlayFramework. 지속성 계층: Hibernate 및 JPA. 서버 측 반응형 프로그래밍: ReactorCore 및 SpringWebFlux. 실시간 컴퓨팅: ApacheStorm 및 ApacheSpark. 클라우드 컴퓨팅: Java용 AWS SDK 및 Google Cloud Java.

Go 프레임워크 학습에는 다섯 가지 오해가 있습니다. 프레임워크에 대한 과도한 의존과 제한된 유연성입니다. 프레임워크 규칙을 따르지 않으면 코드를 유지 관리하기가 어려워집니다. 오래된 라이브러리를 사용하면 보안 및 호환성 문제가 발생할 수 있습니다. 패키지를 과도하게 사용하면 코드 구조가 난독화됩니다. 오류 처리를 무시하면 예기치 않은 동작과 충돌이 발생합니다.
