{"id":"four-decoupling-patterns-plus-srp-yields-complete-topology-selection-method","text":"The four sender-receiver decoupling patterns (Command, Observer, Mediator, Chain of Responsibility) address different trade-offs in binding, flexibility, and type safety. SRP's actor-based framing offers a candidate criterion for selecting among centralized coordination patterns along the Facade-Mediator spectrum, where single-actor subsystem relationships suggest Facade's simplified interface and distinct coordinated actor dependencies suggest Mediator's bidirectional control. Together, these provide practitioners with a pattern vocabulary and a candidate principled basis for choosing among decoupling and centralization topologies in a given design context.","truth_value":"IN","source":"","source_url":"","source_hash":"","justifications":[{"type":"SL","antecedents":["four-patterns-decouple-senders-receivers","srp-governs-full-centralization-spectrum"],"outlist":[],"label":"Four decoupling patterns provide the options; SRP's actor analysis provides the selection method for topology choice"}],"dependents":["srp-governs-pattern-selection-across-behavioral-and-creational-domains"],"metadata":{"source_type":"derived","review_result":"invalid","repair_action":"softened"},"created_at":"2026-06-18T02:19:13+00:00","updated_at":"2026-06-18T06:41:17+00:00","reviewed_at":"2026-06-18T06:15:08+00:00","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"four-decoupling-patterns-plus-srp-yields-complete-topology-selection-method","truth_value":"IN","reason":"SL justification valid","antecedents":["four-patterns-decouple-senders-receivers","srp-governs-full-centralization-spectrum"],"label":"Four decoupling patterns provide the options; SRP's actor analysis provides the selection method for topology choice"},{"node":"four-patterns-decouple-senders-receivers","truth_value":"IN","reason":"premise"},{"node":"srp-governs-full-centralization-spectrum","truth_value":"IN","reason":"SL justification valid","antecedents":["facade-mediator-centralization-spectrum","srp-resolves-decoupling-topology-choice"],"label":"SRP's actor-based decision criterion naturally extends from the Observer-Mediator choice to the full Facade-Mediator centralization spectrum"},{"node":"facade-mediator-centralization-spectrum","truth_value":"IN","reason":"SL justification valid","antecedents":["facade-asymmetric-subsystem-simplification","mediator-vs-facade-directionality"],"label":"Facade and Mediator both centralize but along a spectrum from one-directional simplification to multi-directional coordination"},{"node":"facade-asymmetric-subsystem-simplification","truth_value":"IN","reason":"SL justification valid","antecedents":["facade-often-singleton","facade-subsystem-unaware-of-facade"],"label":"One-way dependency with singleton uniqueness establishes asymmetric simplification"},{"node":"facade-often-singleton","truth_value":"IN","reason":"premise"},{"node":"facade-subsystem-unaware-of-facade","truth_value":"IN","reason":"premise"},{"node":"mediator-vs-facade-directionality","truth_value":"IN","reason":"premise"},{"node":"srp-resolves-decoupling-topology-choice","truth_value":"IN","reason":"SL justification valid","antecedents":["srp-grounds-observer-mediator-decision","decoupling-topology-composition-based"],"label":"SRP's actor semantics are the selection criterion when all four decoupling topologies are compositionally equivalent"},{"node":"srp-grounds-observer-mediator-decision","truth_value":"IN","reason":"SL justification valid","antecedents":["srp-precise-actor-semantics","observer-mediator-distribution-centralization-tradeoff"],"label":"SRP's actor semantics directly resolves which communication topology (distributed vs centralized) preserves responsibility boundaries"},{"node":"srp-precise-actor-semantics","truth_value":"IN","reason":"SL justification valid","antecedents":["srp-actor-based-not-technical","srp-responsibility-means-one-reason-to-change","srp-canonical-definition"],"label":"The actor framing is what transforms SRP from a vague guideline into a precise design constraint; the emergent insight is which component provides the precision"},{"node":"srp-actor-based-not-technical","truth_value":"IN","reason":"premise"},{"node":"srp-responsibility-means-one-reason-to-change","truth_value":"IN","reason":"premise"},{"node":"srp-canonical-definition","truth_value":"IN","reason":"premise"},{"node":"observer-mediator-distribution-centralization-tradeoff","truth_value":"IN","reason":"SL justification valid","antecedents":["mediator-centralizes-observer-distributes","observers-more-reusable-than-mediators","gof-observer-unexpected-updates-liability","gof-mediator-centralizes-control-tradeoff"],"label":"Two base beliefs on the relationship + one liability each combine into a unified architectural tradeoff"},{"node":"mediator-centralizes-observer-distributes","truth_value":"IN","reason":"premise"},{"node":"observers-more-reusable-than-mediators","truth_value":"IN","reason":"premise"},{"node":"gof-observer-unexpected-updates-liability","truth_value":"IN","reason":"premise"},{"node":"gof-mediator-centralizes-control-tradeoff","truth_value":"IN","reason":"premise"},{"node":"decoupling-topology-composition-based","truth_value":"IN","reason":"SL justification valid","antecedents":["four-decoupling-patterns-topology","behavioral-patterns-favor-composition"],"label":"The decoupling topology (depth-1) is enabled by composition preference (depth-1) — topology and mechanism unify"},{"node":"four-decoupling-patterns-topology","truth_value":"IN","reason":"SL justification valid","antecedents":["four-patterns-decouple-senders-receivers","command-decouples-invoker-from-receiver","gof-mediator-replaces-many-to-many-with-one-to-many","chain-of-responsibility-implicit-receiver","gof-observer-intent-one-to-many-dependency"],"label":"Decoupling patterns span a topology from reified request to implicit broadcast"},{"node":"command-decouples-invoker-from-receiver","truth_value":"IN","reason":"premise"},{"node":"gof-mediator-replaces-many-to-many-with-one-to-many","truth_value":"IN","reason":"premise"},{"node":"chain-of-responsibility-implicit-receiver","truth_value":"IN","reason":"premise"},{"node":"gof-observer-intent-one-to-many-dependency","truth_value":"IN","reason":"premise"},{"node":"behavioral-patterns-favor-composition","truth_value":"IN","reason":"SL justification valid","antecedents":["behavioral-patterns-class-vs-object","behavioral-patterns-encapsulate-variation","favor-composition-over-inheritance"],"label":"Behavioral object patterns are composition-over-inheritance put into practice"},{"node":"behavioral-patterns-class-vs-object","truth_value":"IN","reason":"premise"},{"node":"behavioral-patterns-encapsulate-variation","truth_value":"IN","reason":"premise"},{"node":"favor-composition-over-inheritance","truth_value":"IN","reason":"premise"}]}}