avalonia-viewmodels-zafiro
Zafiro 패턴으로 반응형 Avalonia UI 애플리케이션 구축
유지보수가 가능한 Avalonia 애플리케이션을 만들려면 일관된 ViewModel 패턴과 탐색 구조가 필요합니다. 이 스킬은 강력한 UI 개발을 위해 검증된 ReactiveUI 및 Zafiro 도구 키트 패턴을 제공합니다.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "avalonia-viewmodels-zafiro". 사용자 이름과 비밀번호 필드가 있는 로그인 화면용 ViewModel 생성
النتيجة المتوقعة:
Username 및 Password 속성에 [Reactive] 속성이 있는 ReactiveObject를 상속하는 부분 클래스 LoginViewModel으로, 검증이 있는 ReactiveCommand.CreateFromTask를 통해 생성된 LoginCommand와 정리를 위한 CompositeDisposable가 있는 적절한 IDisposable 구현이 포함됩니다.
استخدام "avalonia-viewmodels-zafiro". 사용자가 항목을 클릭할 때 HomeViewModel에서 DetailsViewModel으로 어떻게 탐색하나요?
النتيجة المتوقعة:
HomeViewModel 생성자에 INavigator를 주입한 다음, 선택 핸들러에서 await navigator.Navigate(() => new DetailsViewModel(selectedItem))을 호출하세요. DataTypeViewLocator가 해당 DetailsView를 자동으로 해결합니다.
التدقيق الأمني
آمنStatic analyzer flagged 79 potential issues (71 external_commands, 8 blocker patterns). All findings are FALSE POSITIVES. The detected 'backtick execution' patterns are markdown code fence markers (```) and C# attribute syntax ([Section], [Reactive]). The 'blocker' patterns are documentation callouts ([!TIP], [!IMPORTANT]). This skill contains only documentation markdown files with C# code examples - no executable code or security risks exist.
درجة الجودة
ماذا يمكنك بناءه
모듈러 섹션을 가진 데스크톱 애플리케이션
[Section] 속성과 INavigator를 사용하여 Wallet, Browse, Settings와 같은 자동 검색 섹션을 가진 지갑 애플리케이션을 구축하고 뷰 간 원활한 탐색을 제공합니다.
복잡한 다단계 워크플로우 구현
WizardBuilder로 WhenValid 및 NextCommand 규칙을 사용하여 검증, 진행률 추적 및 조건부 탐색이 있는 프로젝트 설정 마법사를 만듭니다.
반응형 명령 인프라 구축
HandleErrorsWith를 통한 오류 처리, CompositeDisposable를 통한 자동 Disposable 관리, WhenAnyValue를 통한 반응형 속성 관찰을 사용하여 강력한 명령 패턴을 확립합니다.
جرّب هذه الموجهات
Name, Email, IsBusy 속성을 가진 사용자 프로필 화면용 ReactiveUI ViewModel을 만드세요. 실행 전에 이메일 형식을 검증하는 Save 명령을 포함하세요. [Reactive] 속성과 적절한 disposable 처리를 사용하세요.
대시보드, 보고서, 설정의 세 섹션이 있는 사이드바 탐색을 구현하는 방법을 보여주세요. FontAwesome 아이콘과 함께 [Section] 속성을 사용하고 IShellViewModel을 사용하여 섹션 간 전환을 시연하세요.
4단계(프로젝트 정보, 템플릿 선택, 설정 구성, 검토)로 새 프로젝트를 만들기 위한 마법사를 구축하세요. 각 단계는 진행하기 전에 검증해야 합니다. WizardBuilder와 WhenValid 규칙을 사용하고 최종 결과를 처리하는 방법을 보여주세요.
데이터 동기화를 위한 IEnhancedCommand를 생성하여 진행률을 표시하고, NotificationService를 통해 오류를 처리하며,Subscription을 적절히 삭제하는 방법을 시연하세요. 취소 지원과 연결 상태에 따른 반응형 활성화/비활성화 로직을 포함하세요.
أفضل الممارسات
- 항상 구독 및 명령에 .DisposeWith(disposables)를 사용하여 반응형 스트림의 메모리 누수 방지
- CompositionRoot에서 수동 배선 대신 [Section] 속성으로 섹션 ViewModel을 표시하여 자동 등록
- HandleErrorsWith 확장을 사용하여 명령 오류를 NotificationService로 라우팅하여 일관된 사용자 피드백 제공
تجنب
- 팩토리 메서드 외부에서 'new'를 사용하여 ViewModel을 수동으로 인스턴스화하지 마세요 - CompositionRoot를 통한 의존성 주입 사용
- Observable을 구독할 때 CompositeDisposable에 추가하지 마세요 - 메모리 누수가 발생합니다
- 명령 실행에서 비동기 작업을 차단하지 마세요 - 항상 CreateFromTask를 사용하고 탐색 호출을 await하세요
الأسئلة المتكررة
이 패턴을 사용하려면 어떤 종속성이 필요한가요?
자동 섹션 검색은 어떻게 작동하나요?
전체 Zafiro 도구 키트 없이 이 패턴을 사용할 수 있나요?
마법사 단계에서 검증은 어떻게 처리하나요?
표준 ICommand보다 IEnhancedCommand의 목적은 무엇인가요?
이 패턴으로 만든 ViewModel은 어떻게 테스트하나요?
تفاصيل المطور
المؤلف
sickn33الترخيص
MIT
المستودع
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/avalonia-viewmodels-zafiroمرجع
main
بنية الملفات