Core Components¶
The core components provide fundamental services and abstractions used throughout the SSF Tools application.
Service Interfaces¶
- Cache Service Interface: Common cache service available to any toolkit member that needs caching capabilities
- Configuration Interface: Centralized configuration management with environment-specific overrides
- Dependency Injection: IoC container setup and service registration patterns
- File Processing Interface: Core service to interact with files including MIME and encoding detection, hashing, streaming, and discovery
- HTTP Request Interface: HTTP client abstraction with retry logic and error handling
- Rich Output Interface: Terminal output formatting with progress indicators and styling
- Timestamp Service Interface: Time operations and caching mechanisms
Design Patterns¶
All core components follow these patterns:
- Interface-First Design: Each component defines a clear interface contract
- Dependency Injection: Services are injected rather than instantiated
- Type Safety: Full type annotations and runtime validation
- Error Handling: Comprehensive error handling with user-friendly messages
- Testing: Each component includes comprehensive unit tests
Usage¶
Core components are registered in the main DI container and available throughout the application: