Skip to content

4. Class Instantiation Policy

Date: 2025-01-23

Status

Draft

Context

Optimization of object lifecycle management requires strict instantiation policies to minimize memory overhead and maintain predictable object creation patterns.

Decision

Class Instantiation Specifications

  1. Configuration Class: * Primary instantiation scope: Application level * Lifecycle: Usually single instance per configuration context * Responsibility: Configuration state management

  2. Field Class: * Instantiation constraints:

    • Class definition context only (user)
    • Child object declarations (internal only)
    • Lifecycle: Bound to parent Configuration instance
    • Responsibility: Field configuration
  3. Loader Class: * Primary instantiation context: Class definitions * Supported patterns:

    • Static class-defined loaders
    • Instance loaders for edge case handling
    • Lifecycle: Determined by usage context
    • Responsibility: Data loaders
  4. Cast Class: * Primary instantiation scope: Application level * Purpose: Edge case type conversion handling * Lifecycle: On-demand instantiation * Responsibility: Type casting

Consequences

  • Reduced memory footprint through controlled instantiation
  • Clear object ownership hierarchies
  • Predictable object lifecycle management
  • Flexibility for edge case handling while maintaining core patterns

Note: This specification requires further refinement for complete implementation guidelines.