visitor-complete-operation-extensibility

Status: OUT

Visitor achieves complete operation extensibility — structure-independent traversal with state accumulation across heterogeneous elements, plus inverted OCP axis enabling open-ended new operations without modifying element classes — only while its encapsulation cost remains acceptable; when elements must expose excessive internal state through public interfaces to support visitor operations, the pattern's extensibility advantage is undermined by the encapsulation it sacrifices.

Justifications

Visitor's dual extensibility (structure-independent + OCP-inverted) gated by encapsulation cost

Depends on (SL): visitor-inverts-ocp-axis, visitor-structure-independent-operations

Unless: gof-visitor-breaks-encapsulation

JSON