Rule 1 of 8 · Chapter I — Component Discipline
Components own their markup; services own their logic.
Why this rule exists
A component that fetches, transforms, caches, and renders is four responsibilities in one file — and each one makes the others harder to test and reuse.
In practice
If a method in a .razor file does not touch rendering, it belongs in an injected service. The component keeps parameters, UI state, and event plumbing; everything else moves out.
When it doesn't apply
Tiny leaf components can inline trivial logic — extracting a one-liner is ceremony, not architecture.