A simple and educational project for implementing Event-Driven Architecture in C#. This project serves as a foundation for larger projects using event-driven patterns.
This project implements a simple registration system using events. When a user registers (successfully or unsuccessfully), corresponding events are triggered, and the SMS service reacts to them.
Simple-Event-Driven/
├── Program.cs # Main code and tests
├── UserRegister.cs # Event publisher class
├── SmsService.cs # Event subscriber class
└── EventArgs/ # Event data classes
├── UserRegisteredEventArgs.cs
└── RegisterFailedEventArgs.cs
- UserRegister: Defines and raises events
- SmsService: Listens to and reacts to events
- EventArgs: Carries event-related data
This project can serve as a foundation for:
- Notification Systems
- Logging and Monitoring
- Plugin-based Architectures
- Asynchronous Processing Systems
- Using
event EventHandler<T>for event definitions - Using
EventArgsfor data passing protected virtualpattern for raising events- Multiple service subscription capability
- Understanding event-driven architecture basics
- Implementing publisher-subscriber pattern
- Working with custom EventArgs
- Event subscription and unsubscription