Overview
The network_system currently has 100+ header files with significant duplication across protocol implementations. This EPIC tracks the effort to apply the Facade pattern to simplify the public API and reduce header complexity.
Problem Statement
Current State
- Over 100 header files in the include directory
- Each protocol (TCP, UDP, HTTP, WebSocket) has similar structures duplicated
- Internal implementation details are exposed in public headers
- High compilation times due to header dependencies
Kent Beck's Simple Design Violations
- No Duplication: Protocol implementations share similar patterns but duplicate code
- Fewest Elements: Too many public headers expose internal details
- Reveals Intention: Complex header structure obscures the actual API
Goals
- Reduce public header count by 60-70%
- Create unified protocol interfaces (
IProtocolClient, IProtocolServer)
- Separate internal headers:
include/ vs src/internal/
- Improve compilation times
Sub-Tasks
Acceptance Criteria
Related Issues
- common_system#314: Cross-system infrastructure consolidation
- common_system#315: circuit_breaker extraction
References
- Kent Beck's "Four Rules of Simple Design"
- Facade Design Pattern (GoF)
Overview
The network_system currently has 100+ header files with significant duplication across protocol implementations. This EPIC tracks the effort to apply the Facade pattern to simplify the public API and reduce header complexity.
Problem Statement
Current State
Kent Beck's Simple Design Violations
Goals
IProtocolClient,IProtocolServer)include/vssrc/internal/Sub-Tasks
IProtocolClient,IProtocolServer)NetworkSystemBridgesrc/internal/Acceptance Criteria
IProtocolClientIProtocolServerRelated Issues
References