Skip to content
patterns/factory logo

patterns/factory

Factory Pattern pattern for C development

SKILL.md

Full skill instructions

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 buffer
  • ik_mark_create() - creates checkpoint marks
  • ik_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.