{"id":"template-method-safe-inheritance-reuse","text":"Template Method provides safe inheritance-based reuse by constraining the inheritance mechanism: the parent controls the algorithm skeleton and limits subclass variation to hook operations and abstract operations, avoiding the full exposure of parent internals.","truth_value":"OUT","source":"","source_url":"","source_hash":"","justifications":[{"type":"SL","antecedents":["gof-template-method-hooks-vs-abstract-ops","gof-template-method-hollywood-principle","factory-method-called-within-template-methods"],"outlist":["inheritance-breaks-encapsulation"],"label":"Template Method is safe reuse only insofar as inheritance doesn't break encapsulation; when it does, even controlled hook/abstract-op variation exposes parent implementation details"}],"dependents":[],"metadata":{"source_type":"derived"},"created_at":"2026-06-17T17:55:06+00:00","updated_at":"2026-06-17T17:55:06+00:00","reviewed_at":"","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"template-method-safe-inheritance-reuse","truth_value":"OUT","reason":"SL justification invalid","failed_antecedents":[],"label":"Template Method is safe reuse only insofar as inheritance doesn't break encapsulation; when it does, even controlled hook/abstract-op variation exposes parent implementation details","violated_outlist":["inheritance-breaks-encapsulation"]}]}}