Elegant designs clarify system behaviour.
1 - Architecture
Requirements
- Choose a suitable overarching design.
- Enforce system-wide consistency with domain-driven design.
- Define components.
Examples
- Overarching design:
- Domain-driven design:
- Components:
See also
2 - Design patterns
Requirements
- Implement features with Gang of Four design patterns.
- Integrate components with integration patterns.
- Apply SOLID principles.
Examples
- Gang of Four patterns:
- Integration patterns:
- SOLID principles:
See also
3 - System documentation
Requirements
- Illustrate components with a modelling tool.
- Document interface contracts.
- Provide a dedicated website for documentation.
Examples
- Modelling tool:
- Interface contracts:
- Dedicated website: