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