The Laboratory Management System is a C# console-based application that simulates the core operations of a medical laboratory.
It allows adding and managing lab tests, changing their states, displaying results, and simulating payment operations.
This project was developed to demonstrate the practical implementation of multiple Object-Oriented Design Patterns,
showing how clean software architecture improves flexibility, scalability, and maintainability.
- Add new laboratory tests
- View all available tests
- Change test status
- Display test results
- Simulate different payment methods
State Pattern : Manages test status transitions. Proxy Pattern : Controls access to sensitive features such as payment and results. Singleton Pattern : Ensures only one instance of main classes. Iterator Pattern : Iterates through the collection of lab tests in a clean and consistent way. Strategy Pattern : Provides multiple payment strategies.
- Language: C#
- Framework: .NET (Console Application)
- Paradigm: Object-Oriented Programming (OOP)
- Design Principles: SOLID, GoF Design Patterns