visitor-extensible-stateful-computation

Status: OUT

Visitor achieves extensible stateful computation through two complementary mechanisms: double-dispatch implements OCP axis inversion (the element's Accept calls the visitor's type-specific Visit method, enabling new operations without modifying elements), while structure-independent state accumulation enables aggregate computations across heterogeneous elements (e.g., PricingVisitor accumulating total cost), together providing complete operation extensibility with cross-element awareness — contingent on elements exposing sufficient internal state.

Justifications

Double-dispatch extensibility + stateful cross-element accumulation provides complete but encapsulation-bounded operation extensibility

Depends on (SL): visitor-accumulates-across-structures, visitor-dispatch-implements-ocp-inversion

Unless: gof-visitor-breaks-encapsulation

JSON