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