Patterns/adapter

Adapter (Wrapper) Pattern pattern for C development

diegosouzapw Updated 54 repo stars

File contents

Adapter (Wrapper) Pattern

Convert interface of one module to interface expected by another. Enables integration of incompatible interfaces without modifying either.

ikigai Application

wrapper.h: Adapts system calls to mockable interface:

  • posix_read_() wraps read()
  • curl_easy_perform_() wraps libcurl
  • yyjson_read_file_() wraps yyjson

Purpose: Real implementations in production, mock implementations in tests via weak symbol linking.

LLM providers: Adapt different API formats (OpenAI, Anthropic) to unified internal message format.

Benefit: External dependencies isolated behind stable internal interface. Swap implementations without changing callers.

Testing: Inject failures, control responses, verify calls.

diegosouzapw/awesome-omni-skill/tree/main/skills/development/patterns-adapter commit 00d2c7d566

Frequently asked questions

npx skillmds@latest add diegosouzapw/patterns-adapter