Skip to content

This resource is crafted to help developers understand and implement various software design patterns. Whether you're a beginner looking to learn about design patterns

Notifications You must be signed in to change notification settings

gunatheeban/Design-Patterns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Design Patterns Repository

Welcome to the Design Patterns Repository! This resource is crafted to help developers understand and implement various software design patterns. Whether you're a beginner looking to learn about design patterns or an experienced developer seeking to refine your design approach, this repository provides practical examples in a way that is easy to understand and apply.

What are Design Patterns?

Design patterns are typical solutions to common problems in software design. Each pattern represents a best practice used by experienced developers. Design patterns can speed up the development process by providing tested, proven development paradigms.

Patterns Covered

Creational Patterns

  • Singleton: Ensures that a class has only one instance while providing a global access point to this instance.
  • Abstract Factory: Provides an interface for creating families of related or dependent objects without specifying their concrete classes.
  • Builder: Separates the construction of a complex object from its representation, allowing the same construction process to create various representations.
  • Factory Pattern: Defines an interface for creating an object, but lets subclasses decide which class to instantiate.

Structural Patterns

  • Adapter: Allows objects with incompatible interfaces to collaborate.
  • Composite: Composes objects into tree structures to represent part-whole hierarchies, allowing clients to treat individual objects and compositions uniformly.

Using This Repository

Each pattern is contained in its own directory, complete with examples and a detailed explanation of how and when to use the pattern. Navigate to the directory of the pattern you're interested in to find relevant source code and a README specific to that pattern.

How to Contribute

Contributions are welcome! If you would like to add examples, improve the documentation, or contribute new patterns, please feel free to fork this repository, make your changes, and submit a pull request.

  1. Fork the Repository
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Tags

singleton adapter-pattern structural-patterns abstractfactorypattern builderpattern creational-design-patterns composite-design-pattern factorypattern

About

This resource is crafted to help developers understand and implement various software design patterns. Whether you're a beginner looking to learn about design patterns

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages