Skip to content

This repository contains my implementations and examples of various software design patterns. It covers a range of patterns, including Creational, Structural, and Behavioral, with practical code examples and explanations. The goal is to strengthen my understanding of design patterns and improve code architecture for scalable and maintainable apps

Notifications You must be signed in to change notification settings

MiguelCabreraVictoria/Design-Patterns

Repository files navigation

Design-Patterns

Typical Solutions to commonly occurring problems in software design, they are like pre-made blueprints that you can customize to solve a recurring design problem in code.

Patterns are often confused wih algorithms, because both concepts describe typical solotions to known problems. While an algorithm always define a clear set of of actions that can achieve some goal, a pattern is more a high-level description of a solution. The code of the same pattern applied to two different programs may be different.

Are a toolkit of tried and tested solutions to common problems in software design. Even if you never encounter these problems, knowin patterns is still useful because it teaches you how to solve all sorts of problems using principles of object-oriented design.

What does the pattern consist of?

  • Intent of the pattern briefly describes both the problem and the solution
  • Motivation further explains the problem and the solution the pattern makes possible
  • Struture of classes shown each part of the pattern and how are related

Classification of patterns

Desing pattern differ by their complexity, level of detail and scale of applicatibility to the entire system being designed.

The most basic and low-level patterns are often called idioms and the most universal and high-level patterns are architectural patterns. In addition, all patterns can be categorized by their intent, or purpose.

  • Creational Patterns provide object creation mechanism that increase flexibility and reuse of existing code.
  • Structural Patterns explain how to assemble objects and classes into larger structures, while keeping the structures flexible and efficient.
  • Behavioral Patterns take care of effective communication and the assignment of resposibilities between objects.

About

This repository contains my implementations and examples of various software design patterns. It covers a range of patterns, including Creational, Structural, and Behavioral, with practical code examples and explanations. The goal is to strengthen my understanding of design patterns and improve code architecture for scalable and maintainable apps

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published