{"id":"pluggable-adapter-recapitulates-reuse-spectrum","text":"Pluggable adapters' three implementation approaches — abstract operations (inheritance), delegate objects (composition), and parameterized closures (parameterized types) — recapitulate the three fundamental OO reuse mechanisms within a single pattern, providing a microcosm of the broader reuse paradigm: the same inheritance-to-composition-to-parameterization spectrum that governs macro-level design choices is replicated at the level of a single pattern's implementation alternatives.","truth_value":"IN","source":"","source_url":"","source_hash":"","justifications":[{"type":"SL","antecedents":["pluggable-adapter-three-approaches","reuse-mechanisms-ordered-with-principled-inheritance-boundary"],"outlist":[],"label":"Pluggable adapter's three approaches mirror the three reuse mechanisms at miniature scale"}],"dependents":["dual-recapitulation-convergently-validates-reuse-spectrum","pluggable-adapter-confirms-reuse-mechanism-completeness"],"metadata":{"source_type":"derived","review_result":"pass"},"created_at":"2026-06-18T01:48:11+00:00","updated_at":"2026-06-18T06:15:08+00:00","reviewed_at":"2026-06-18T06:15:08+00:00","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"pluggable-adapter-recapitulates-reuse-spectrum","truth_value":"IN","reason":"SL justification valid","antecedents":["pluggable-adapter-three-approaches","reuse-mechanisms-ordered-with-principled-inheritance-boundary"],"label":"Pluggable adapter's three approaches mirror the three reuse mechanisms at miniature scale"},{"node":"pluggable-adapter-three-approaches","truth_value":"IN","reason":"premise"},{"node":"reuse-mechanisms-ordered-with-principled-inheritance-boundary","truth_value":"IN","reason":"SL justification valid","antecedents":["three-reuse-mechanisms-composition-default","template-method-principled-inheritance-counterexample"],"label":"The three reuse mechanisms are not mere alternatives but form an ordered hierarchy with composition as default and Template Method as the bounded exception"},{"node":"three-reuse-mechanisms-composition-default","truth_value":"IN","reason":"SL justification valid","antecedents":["parameterized-types-third-reuse-mechanism","composition-superiority-for-reuse"],"label":"Third reuse mechanism enriches the design space beyond the binary inheritance-vs-composition framing"},{"node":"parameterized-types-third-reuse-mechanism","truth_value":"IN","reason":"premise"},{"node":"composition-superiority-for-reuse","truth_value":"IN","reason":"SL justification valid","antecedents":["favor-composition-over-inheritance","inheritance-breaks-encapsulation","inheritance-compile-time-composition-run-time","delegation-composition-as-powerful-as-inheritance"],"label":"Four independent arguments converge on composition's superiority over inheritance"},{"node":"favor-composition-over-inheritance","truth_value":"IN","reason":"premise"},{"node":"inheritance-breaks-encapsulation","truth_value":"IN","reason":"premise"},{"node":"inheritance-compile-time-composition-run-time","truth_value":"IN","reason":"premise"},{"node":"delegation-composition-as-powerful-as-inheritance","truth_value":"IN","reason":"premise"},{"node":"template-method-principled-inheritance-counterexample","truth_value":"IN","reason":"SL justification valid","antecedents":["template-method-fine-grained-override-control","composition-superiority-for-reuse"],"label":"Template Method is the exception that proves the composition rule by showing when inheritance works"},{"node":"template-method-fine-grained-override-control","truth_value":"IN","reason":"SL justification valid","antecedents":["gof-template-method-five-operation-kinds","hook-operations-overridable-defaults","gof-cpp-template-method-nonvirtual"],"label":"Five operation kinds plus non-virtual skeleton produce the most controlled inheritance in the GoF"},{"node":"gof-template-method-five-operation-kinds","truth_value":"IN","reason":"premise"},{"node":"hook-operations-overridable-defaults","truth_value":"IN","reason":"premise"},{"node":"gof-cpp-template-method-nonvirtual","truth_value":"IN","reason":"premise"}]}}