Aggregate Family Map

fixed heterogeneous slots with lazy construction and stable semantic child roles

Aggregate Family Map fixed heterogeneous slots with lazy construction and stable semantic child roles Aggregate Family Map fixed heterogeneous slots with lazy construction and stable semantic child roles Arity and slot contract Construction and messaging Best-fit composition roots AggregateVM1..6 component-shaped parent fixed arity heterogeneous child roles Slot factories Component1(...) through Component6(...) invoked during construct() stable semantic names Typed slots Component1..6 property per slot no list indexing Compile-time contract arity is explicit portable across five source flavors no variadic escape hatch Construct cascade populate slot construct child aggregate settles last Destruct cascade children first parent settles after slots dispose remains terminal Property messages slot property changed lifecycle status per-flavor casing No collection surface fixed children no Current no add/remove API Workspace shell Notes Workspace root named panes and coordinators Dashboard root heterogeneous panels stable layout contract Service bundle typed child VMs host adapter entry point Decision rule Choose AggregateVM when the parent contract names each child role; choose CompositeVM or GroupVM when the child set is list-like. configured by creates preserves construct() publish not a list slot state drives UI

Fixed roles

  • AggregateVM1..6 encode semantic child slots instead of collection membership.
  • The arity appears in the type so cross-language examples stay honest.
  • Each child may have a different VM type.

Lifecycle

  • Slot factories run during construction.
  • The aggregate reaches Constructed only after populated children settle.
  • Slot property changes are observable with idiomatic per-flavor names.

Best fit

  • Use aggregates for workspace roots, dashboards, and composition shells.
  • Do not use aggregates as a substitute for variable-length child lists.
  • Wrap an aggregate in an app-specific VM when the host needs a narrower facade.