| name | patterns/factory |
| description | Factory Pattern pattern for C development |
Factory Pattern
Function that encapsulates object creation, returning an allocated and initialized struct. Centralizes construction logic and hides allocation details from callers.
ikigai Application
Current usage:
ik_scrollback_create()- creates scrollback bufferik_mark_create()- creates checkpoint marksik_input_parser_create()- creates input parser
Convention: Use *_create() for heap allocation (caller owns), *_init() for initializing pre-allocated memory.
With ik_env_t: Factories should receive ik_env_t *env as first parameter for access to logger, config, and clock during construction.
Testing: Factories enable injecting dependencies at creation time rather than reaching for globals.