A hands-on demonstration of reactive, event-based systems using Visual Basic .NET
- About the Project
- ✨ Features
- 🛠️ Tech Stack
- 🚀 Getting Started
- 📁 Project Structure
- 💡 Usage
- 🤝 Contributing
- 📄 License
This repository contains the final project for an Event Driven Programming course. It showcases the implementation of reactive, event-based systems where the program flow is determined by events such as user actions, sensor outputs, or message passing.
The project emphasizes:
- Loose coupling between components
- Asynchronous event handling
- Responsive UI design patterns
- 🎯 Event-Driven Architecture – Central event loop with custom event handlers
- 🔧 Modular Design – Separated event producers, consumers, and dispatchers
- ⚡ Asynchronous Processing – Non-blocking execution for long-running tasks
- 🖥️ GUI Integration – User interface events drive application logic
- 🔌 Extensible – Easy to add new event types and listeners
- 📡 Multicast Delegates – Multiple handlers respond to the same event
| Technology | Purpose |
|---|---|
| Visual Basic .NET | Primary language with .NET event model and WinForms/WPF handlers |
| .NET Framework / .NET Core | Runtime and event infrastructure |
Follow these instructions to get a copy of the project up and running locally.
- Windows OS (recommended) – The project targets .NET Framework / WinForms
- Visual Studio (2019 or later) with .NET desktop development workload
- Basic knowledge of events, delegates, and UI programming
# Clone the repository
git clone https://github.com/trashpenguin/EDP.git
cd EDP- Open the solution in Visual Studio
- Build the project (
Ctrl + Shift + B) - Run the application (
F5)
EDP/
├── EDP/
│ ├── Form1.vb # Main form / event handlers
│ ├── Program.vb # Application entry point
│ ├── ... # Additional modules / classes
├── .gitignore
└── README.md
Once the application runs:
- Click buttons, type into text boxes, or trigger custom events
- The system logs or displays event information (e.g., "Button Click Event raised")
- Observe how different code parts respond to the same event via multicast delegates
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is for educational purposes as part of a final assignment. Please consult your instructor before reusing any code.
Made with ❤️ as a Final Project in Event Driven Programming