Skip to content

vBarbaros/design-patterns-py

Repository files navigation

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

About

Python implementation of the OOP Design Patterns using financial domain knowledge

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages