[ENHANCEMENT] Command Pattern for Redeems — add IRedeemCommand interface #25

Open
opened 2026-03-12 00:04:04 +00:00 by lavarius · 0 comments
Owner

🟢 Low — Design Enhancement

Each Twitch redeem has its own class but there's no unifying contract, making it hard to add new redeems or process them generically.

Fix: Add a shared interface:

public interface IRedeemCommand
{
    void Execute(RedeemEventData data);
}

All redeem classes implement IRedeemCommand. The redeem dispatcher can then hold a Dictionary<string, IRedeemCommand> and route by redeem name.

## 🟢 Low — Design Enhancement Each Twitch redeem has its own class but there's no unifying contract, making it hard to add new redeems or process them generically. **Fix:** Add a shared interface: ```csharp public interface IRedeemCommand { void Execute(RedeemEventData data); } ``` All redeem classes implement `IRedeemCommand`. The redeem dispatcher can then hold a `Dictionary<string, IRedeemCommand>` and route by redeem name.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lavarius/ProjectOverlay#25
No description provided.