Are you an LLM? You can read better optimized documentation at /dig-your-windows/en-US/architecture.md for this page in Markdown format
Architecture Design
DigYourWindows adopts a dual-layer architecture design, achieving clear separation between business logic and UI presentation.
Layered Architecture
Core Services
| Service | Responsibility |
|---|---|
DiagnosticCollectorService | Coordinates all data collection |
HardwareMonitorProvider | Singleton wrapper for hardware monitoring |
PerformanceService | Health scoring algorithm |
ReportService | HTML/JSON report generation |
ExportService | File export functionality |
Data Flow
Design Decisions
Why Dual-Layer Architecture?
- Separation of Concerns - UI handles display only, Core handles business logic only
- Testability - Core layer can be unit tested independently
- Maintainability - UI changes don't affect business logic
Why CommunityToolkit.Mvvm?
- Source Generators -
[ObservableProperty]and[RelayCommand]reduce boilerplate - Performance Optimized - Compile-time code generation, no runtime reflection
- Microsoft Official - Part of .NET Community Toolkit
Why LibreHardwareMonitor?
- Comprehensive Coverage - Supports CPU, GPU, motherboard, disk, network, etc.
- Open Source & Free - MIT license, commercial use allowed
- Active Maintenance - Continuous updates for latest hardware