# Components spec
Components are elements that provide concrete functionality.
# Conventions
Components must:
- Define a descriptive name.
- Have a single responsibility.
- Name properties as nouns.
- Declare private/protected properties only.
- Implement a defined interface.
Components should:
- Prefer composition over inheritance.
- Prefer to implement immutability.
# Design
TIP
Components inherit the Interface Spec.
← Interfaces System →