Skip to content

A C# console-based Laboratory Management System applying multiple GoF Design Patterns (State, Proxy, Singleton, Iterator, Strategy) to manage lab tests, results, and payments in a clean and maintainable OOP architecture.

Notifications You must be signed in to change notification settings

shimaanaser8/lab-system-design-patterns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Laboratory Management System (Design Patterns Project)

Overview

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.

Features

  • Add new laboratory tests
  • View all available tests
  • Change test status
  • Display test results
  • Simulate different payment methods

Applied Design Patterns

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.

Tech Stack

  • Language: C#
  • Framework: .NET (Console Application)
  • Paradigm: Object-Oriented Programming (OOP)
  • Design Principles: SOLID, GoF Design Patterns

About

A C# console-based Laboratory Management System applying multiple GoF Design Patterns (State, Proxy, Singleton, Iterator, Strategy) to manage lab tests, results, and payments in a clean and maintainable OOP architecture.

Topics

Resources

Stars

Watchers

Forks

Languages