Git Product home page Git Product logo

design-patterns-py's Introduction

Design Patterns in Python (with a flavor of finance)


A design pattern is a general repeatable solution to a commonly occurring problem in software design. A design pattern is not a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many situations.

There are several types of design patterns, including creational, structural, and behavioral patterns. Creational patterns deal with object creation mechanisms, trying to create objects in a manner suitable to the situation. Structural patterns deal with object composition, creating relationships between objects to form larger structures. Behavioral patterns focus on communication between objects, what goes on between objects and how they operate together.

This repository contains examples of various design patterns implemented in Python, with a focus on financial topics. The code in this repository is meant to serve as a reference for how design patterns can be implemented and used in real-world applications, specifically within the financial industry. It is not intended to be a comprehensive guide to design patterns, but rather a collection of examples in Python to help developers understand the concepts and see how they can be applied in practice in a financial context.


Table of Contents

Creational

Behavioral

Structural


(Some of) Design patterns diagrams you'll find inside

Strategy examples
Strategy Generic Strategy Investment
Abstract Factory examples
Abstract Factory Generic Abstract Factory Account
Adapter examples
Adapter (Class & Object) Generic Adapter (Class & Object) Foreign Currency




References


[1] **Design Patterns Elements of Reusable Object-Oriented Software** (by Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides)
[2] Python Design Patterns examples from [https://www.tutorialspoint.com](https://www.tutorialspoint.com/python_design_patterns/index.htm)
Copyright (c) 2023 vBarbaros

design-patterns-py's People

Contributors

vbarbaros avatar

Stargazers

 avatar

Watchers

 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.