Summary
Review and consolidate factory classes in logger_system to simplify the codebase for C++20 module migration, following Kent Beck's "Fewest Elements" principle.
Parent Epic
Part of kcenon/common_system#256 (C++20 Module Migration - Cross-System Preparation)
Current State
Factory Inventory
| File |
Class |
Purpose |
core/di/di_container_factory.h |
di_container_factory |
DI container creation |
core/monitoring/monitoring_factory.h |
monitoring_factory |
Monitoring integration |
Problem Analysis
| Issue |
Kent Beck Principle |
| Multiple factory patterns |
Fewest Elements |
| Unclear when to use each factory |
Reveals Intention |
| Factory vs Builder pattern overlap |
No Duplication |
C++20 Module Impact
When converting to modules, factory classes add complexity to module boundaries:
export module kcenon.logger;
// Factories complicate the public API surface
Proposed Analysis Tasks
Tasks
Acceptance Criteria
Related
Summary
Review and consolidate factory classes in logger_system to simplify the codebase for C++20 module migration, following Kent Beck's "Fewest Elements" principle.
Parent Epic
Part of kcenon/common_system#256 (C++20 Module Migration - Cross-System Preparation)
Current State
Factory Inventory
core/di/di_container_factory.hdi_container_factorycore/monitoring/monitoring_factory.hmonitoring_factoryProblem Analysis
C++20 Module Impact
When converting to modules, factory classes add complexity to module boundaries:
Proposed Analysis Tasks
Tasks
di_container_factoryusage and necessitymonitoring_factoryusage and necessityAcceptance Criteria
Related