website refactor
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user