cd mon_projet
python -m venv mon_venv
source mon_venv/bin/activate
# Sur windows
mon_venv\Scripts\activate
deactivate
19 novembre 2023
cd mon_projet
python -m venv mon_venv
source mon_venv/bin/activate
# Sur windows
mon_venv\Scripts\activate
deactivate
pip install -r requirements.txt
Les design patterns du GoF sont un ensemble de 23 design patterns qui ont été décrits dans le livre "Design Patterns: Elements of Reusable Object-Oriented Software".
Nom | Description |
---|---|
Factory Method |
Crée des objets sans spécifier la classe exacte à instancier. |
Abstract Factory |
Crée des familles d’objets liés ou dépendants sans spécifier leur classe concrète. |
Builder |
Sépare la construction d’un objet complexe de sa représentation afin que le même processus de construction puisse créer différentes représentations. |
Prototype |
Crée de nouveaux objets en copiant un prototype existant. |
Singleton |
Restreint l’instanciation d’une classe à un seul objet. |
Adapter |
Convertit l’interface d’une classe en une autre interface que le client attend. |
Bridge |
Découple une abstraction de son implémentation afin que les deux puissent varier indépendamment. |
Composite |
Compose des objets dans des structures d’arborescence pour représenter des hiérarchies de partie-tout. |
Decorator |
Attache dynamiquement des responsabilités supplémentaires à un objet. |
Facade |
Fournit une interface unifiée à un ensemble d’interfaces dans un sous-système. |
Flyweight |
Réduit le coût de création et d’utilisation d’objets légers. |
Proxy |
Fournit un substitut ou un espace réservé pour un autre objet afin de contrôler l’accès à celui-ci. |
Chain of Responsibility |
Permet à plus d’un objet de traiter une demande. |
Command |
Encapsule une demande dans un objet, permettant ainsi de paramétrer des clients avec différentes demandes, files d’attente ou journaux, et de supporter des opérations annulables. |
Interpreter |
Donne une représentation de la grammaire d’une langue et utilise cette représentation pour interpréter des phrases dans cette langue. |
Iterator |
Fournit un moyen de parcourir séquentiellement les éléments d’un objet agrégé sans exposer sa représentation sous-jacente. |
Mediator |
Permet de réduire les dépendances complexes entre les objets en les faisant communiquer uniquement via un objet médiateur. |
Memento |
Fournit la capacité de restaurer un objet à son état précédent (sans violer l’encapsulation). |
Observer |
Définit une dépendance un-à-plusieurs entre les objets de sorte que lorsqu’un objet change d’état, tous ses dépendants sont notifiés et mis à jour automatiquement. |
State |
Permet à un objet de changer de comportement lorsqu’il change d’état interne. |
Strategy |
Définit une famille d’algorithmes, encapsule chacun d’eux et les rend interchangeables. |
Template Method |
Définit le squelette d’un algorithme dans une méthode, reportant certaines étapes aux sous-classes. |
Visitor |
Permet de définir une nouvelle opération à effectuer sur une structure d’objets sans changer les classes des objets sur lesquels elle opère. |
Bibliothèque |
URL |
Description |
PyMonad |
PyMonad est une implémentation de structures de données monadiques en Python basée sur des langages de programmation tels que Haskell et F# avec des implémentations pour les types de monades les plus couramment utilisés en programmation fonctionnelle. article |
|
PyFunctional |
PyFunctional est une bibliothèque Python pour la programmation fonctionnelle qui fournit des outils pour travailler avec des fonctions pures et des itérables. |
|
Toolz |
Toolz est une bibliothèque Python pour la programmation fonctionnelle qui fournit des outils pour travailler avec des fonctions pures et des itérables. |
|
Fn.py |
Fn.py est une bibliothèque Python pour la programmation fonctionnelle qui fournit des outils pour travailler avec des fonctions pures et des itérables. |
|
Coconut |
Coconut ajoute plusieurs fonctionnalités à Python pour la programmation fonctionnelle, y compris le pattern matching. conversation sof |
# impérative way
result = []
for i in inputs:
x = f(g(i))
result.append(x)
# idiomatic way
result = map(comp(f,g), inputs)