chain-flexibility-reliability-tradeoff

Status: IN

Chain of Responsibility supports three ways to represent requests (hard-coded operation calls, a single handler function, and parameterized request objects) offering varying degrees of flexibility and type safety, combined with a fundamental guarantee gap: since no handler is obligated to process the request, the pattern's strength of implicit receiver selection is accompanied by the risk that a request may traverse the entire chain without being handled.

Justifications

Increasing request flexibility compounds the already-unguaranteed receipt

Depends on (SL): chain-of-responsibility-three-request-representations, chain-of-responsibility-receipt-not-guaranteed

Depended on by

JSON