Skip to content

LeahAbrahams/In-Memory-DataEngine-DesignPatterns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 

Repository files navigation

Table Management System - Java Design Patterns

A robust Java-based project demonstrating the implementation of several GoF (Gang of Four) Design Patterns to create a flexible, scalable, and maintainable table management architecture.

πŸ›  Design Patterns Implemented

This project showcases deep understanding and practical application of the following patterns:

  • Builder Pattern: Utilized to enable a step-by-step and highly readable table construction process, separating the complex object creation from its representation.
  • Composite Pattern: Implemented to create a flexible and hierarchical condition system, allowing complex logic to be treated as a single object.
  • Command Pattern: Used to encapsulate all table operations into unified objects, enabling features like logging and uniform execution flow.
  • Prototype Pattern: Employed for efficient deep-cloning of table structures without relying on concrete classes.
  • Observer Pattern: Integrated to build a generic logging and notification system that reacts to state changes across the system.
  • Strategy Pattern: Utilized to allow different iteration algorithms (Iterators) to be swapped dynamically based on the specific use case.

πŸš€ Future Roadmap (Current Development)

This project is under active development. Upcoming features include:

  • Integration of additional structural patterns.
  • Advanced Unit Testing for each Pattern implementation.
  • UI/CLI enhancements for easier interaction.

πŸ’» Tech Stack

  • Language: Java
  • Architecture: Object-Oriented Design (OOD)
  • Tools: Maven/Gradle (adjust as needed), Git

About

A robust In-Memory Database Engine implemented in Java, focusing on professional software architecture, Clean Code, and the application of 6+ Design Patterns.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages