76 lines
1.7 KiB
Markdown
76 lines
1.7 KiB
Markdown
# Story 11.11: VendorBackend Trait
|
|
|
|
**Epic:** 11 - Advanced HVAC Components
|
|
**Priorité:** P1-HIGH
|
|
**Estimation:** 4h
|
|
**Statut:** backlog
|
|
**Dépendances:** Aucune
|
|
|
|
---
|
|
|
|
## Story
|
|
|
|
> En tant que développeur librairie,
|
|
> Je veux un trait VendorBackend,
|
|
> Afin de pouvoir charger les données de plusieurs fournisseurs.
|
|
|
|
---
|
|
|
|
## Contexte
|
|
|
|
Les fabricants (Copeland, Danfoss, SWEP, Bitzer) fournissent des données pour:
|
|
- Coefficients compresseurs (AHRI 540)
|
|
- Paramètres géométriques et UA des échangeurs
|
|
|
|
---
|
|
|
|
## Trait VendorBackend
|
|
|
|
```rust
|
|
pub trait VendorBackend: Send + Sync {
|
|
fn vendor_name(&self) -> &str;
|
|
|
|
fn list_compressor_models(&self) -> Result<Vec<String>, VendorError>;
|
|
fn get_compressor_coefficients(&self, model: &str) -> Result<CompressorCoefficients, VendorError>;
|
|
|
|
fn list_bphx_models(&self) -> Result<Vec<String>, VendorError>;
|
|
fn get_bphx_parameters(&self, model: &str) -> Result<BphxParameters, VendorError>;
|
|
|
|
fn compute_ua(&self, model: &str, params: &UaCalcParams) -> Result<f64, VendorError>;
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Architecture
|
|
|
|
```
|
|
entropyk-vendors/
|
|
├── Cargo.toml
|
|
├── data/
|
|
│ ├── copeland/
|
|
│ ├── danfoss/
|
|
│ ├── swep/
|
|
│ └── bitzer/
|
|
└── src/
|
|
├── lib.rs
|
|
├── vendor_api.rs
|
|
└── compressors/
|
|
```
|
|
|
|
---
|
|
|
|
## Critères d'Acceptation
|
|
|
|
- [ ] Trait VendorBackend défini
|
|
- [ ] CompressorCoefficients struct (10 coeffs AHRI)
|
|
- [ ] BphxParameters struct (geometry, UA)
|
|
- [ ] VendorError enum
|
|
- [ ] Crate `entropyk-vendors` créé
|
|
|
|
---
|
|
|
|
## Références
|
|
|
|
- [Epic 11 Technical Specifications](../planning-artifacts/epic-11-technical-specifications.md)
|