Summary
Enable one handler class to participate in multiple generated pipelines by applying multiple [HandlerOrder] / [HandlerOrder<TContext>] attributes (different context types and/or orders).
Motivation
Strategy and Factory already use AllowMultiple = true. Handler is the outlier: shared cross-cutting handlers (logging, telemetry) should register on more than one IHandler<TContext> pipeline without duplicating types.
Acceptance criteria
Module
DesignPatterns/ (attributes) + DesignPatterns.SourceGenerators/ + tests/
Summary
Enable one handler class to participate in multiple generated pipelines by applying multiple
[HandlerOrder]/[HandlerOrder<TContext>]attributes (different context types and/or orders).Motivation
Strategy and Factory already use
AllowMultiple = true. Handler is the outlier: shared cross-cutting handlers (logging, telemetry) should register on more than oneIHandler<TContext>pipeline without duplicating types.Acceptance criteria
HandlerOrderAttributeandHandlerOrderAttribute<TContext>useAllowMultiple = trueHandlerOrderGeneratoremits one registration per attribute instance; pipelines are still grouped by context typedocs/ChainOfResponsibility.md; updatedocs/ROADMAP.mdModule
DesignPatterns/(attributes) +DesignPatterns.SourceGenerators/+tests/