Skip to content

TechSnowman/Software-Design-Patterns-Tutorials

Repository files navigation

Software-Design-Patterns-Tutorials

This repository contains a collection of software design patterns that I studied and created during my university software design course.

All implementations are written in Java, but the core ideas and principles behind each pattern are language-independent and can be applied to any object-oriented programming language.

The purpose of this repository was to:

  • Reinforce my understanding of software design principles
  • Provide example of simple implementations of some of the many design patterns
  • Help other students learn design patterns through practical examples
  • Serve as a long-term reference for object-oriented design

📚 Design Patterns Covered

Creational Patterns

  • Adapter
  • Builder
  • Factory
  • Prototype
  • Singleton

Structural Patterns

  • Bridge
  • Composite
  • Decorator
  • Facade
  • Flyweight
  • Proxy

Behavioral Patterns

  • Command
  • Iterator
  • Observer
  • State
  • Strategy
  • Visitor

📖 What Each Pattern Includes

Each pattern implementation will include:

  • A simple clean compact Java implementation
  • Example test usage usually at the bottom of the respective file

🏅 Goal

This repository is intended to be both:

  • A personal learning archive
  • A resource for anybody who wants simple, clear, and practical examples of some of the many software design patterns that you may come across.

About

This repository contains a collection of software design patterns I had to learn and make for university. These patterns will be written in Java, but the overall idea will be straightforward.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages