Forwarding Wrapper Family Map

composition-first decorators for instrumentation, policy, and host adaptation

Dark SVG source uses the VMx architecture palette and keeps arrows behind masked component boxes.

Composition first

  • Wrappers hold an inner VM and delegate by default.
  • The inner VM remains the source of state and messages.
  • Overrides stay local to the behavior being adapted.

Two contracts

  • ForwardingComponentVM decorates component-shaped surfaces.
  • ForwardingCompositeVM decorates child-list and Current-selection surfaces.
  • Both preserve lifecycle ownership when dispose forwards.

Best fit

  • Use wrappers for logging, policy, host adaptation, and compatibility seams.
  • Do not copy VM internals just to intercept one property or command.
  • Prefer a specialized VM only when the workflow is reusable in its own right.