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