website refactor

This commit is contained in:
2026-01-14 13:39:59 +01:00
parent 8b67295442
commit 85e09b6f4d

View File

@@ -1,40 +0,0 @@
# Builders (Deprecated)
**This document is deprecated.** See [`BUILDERS.md`](docs/architecture/website/BUILDERS.md) for the current pattern.
## Summary of changes
The architecture has been updated to use **Builders** instead of **Presenters**:
### Old pattern (deprecated)
- `lib/presenters/` - All transformations
- `lib/view-models/` - ViewModels + some presenters
### New pattern (current)
- `lib/builders/view-models/` - DTO → ViewModel
- `lib/builders/view-data/` - ViewModel → ViewData
- `lib/view-models/` - ViewModels only
### Why the change?
The old pattern had **three anti-patterns**:
1. **Inconsistent naming** - Same concept had 3 names (Presenter, Transformer, ViewModelPresenter)
2. **Inconsistent location** - Presenters lived in both `lib/presenters/` and `lib/view-models/`
3. **Confusing semantics** - "Presenter" implies presenting to client, but some presenters prepared data for server templates
### What changed?
**ViewModel Builders** (DTO → ViewModel):
- Location: `lib/builders/view-models/`
- Naming: `*ViewModelBuilder`
- Example: `AdminViewModelBuilder.build(dto)`
**ViewData Builders** (ViewModel → ViewData):
- Location: `lib/builders/view-data/`
- Naming: `*ViewDataBuilder`
- Example: `LeagueViewDataBuilder.build(viewModel, id)`
This makes the architecture **self-documenting** and **clean**.
See [`BUILDERS.md`](docs/architecture/website/BUILDERS.md) for full details.