Giter Site home page Giter Site logo

design_patterns_personal's Introduction

Key Design Patterns

Creational Patterns

Singleton Pattern: Ensures a class has only one instance and provides a global point of access to it.

Factory Method Pattern: Defines an interface for creating objects, but allows subclasses to decide which class to instantiate.

Abstract Factory Pattern: Provides an interface for creating families of related or dependent objects without specifying their concrete classes.

Structural Patterns

Adapter Pattern: Allows objects with incompatible interfaces to work together by providing a wrapper with a compatible interface.

Decorator Pattern: Adds behavior to objects dynamically without affecting the behavior of other objects from the same class.

Facade Pattern: Provides a unified interface to a set of interfaces in a subsystem, making it easier to use.

Behavioral Patterns

Observer Pattern: Defines a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.

Strategy Pattern: Defines a family of algorithms, encapsulates each one, and makes them interchangeable. Strategy lets the algorithm vary independently from clients that use it.

Template Method Pattern: Defines the skeleton of an algorithm in a method, deferring some steps to subclasses. It allows subclasses to redefine certain steps of an algorithm without changing its structure.

Additional Patterns

Builder Pattern: Separates the construction of a complex object from its representation, allowing the same construction process to create different representations.

Chain of Responsibility Pattern: Allows a set of classes to handle a request by passing it along a chain until it is handled.

Iterator Pattern: Provides a way to access the elements of an aggregate object sequentially without exposing its underlying representation.

design_patterns_personal's People

Watchers

Ahmad Alrai avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.