Académique Documents
Professionnel Documents
Culture Documents
Design Patternes
MVC Pattern
-correspond à l’architecture d’un projet composé de trois parties bien distinctes.
- Les modèles représentent les données reçu d’un serveur /stockage local / saisie par l’utilisateur
- les contrôleurs permettent de faire le lien entre les deux couches précédentes. ( les modèles et
les vues )
Si on applique modification dans les modèles qui sont représentés par les vues ces modifications
vont changées aussi le modèles original
Dependency Injection Pattern
-L'injection de dépendances (DI) est un pattern de conception important pour développer des
applications à grande échelle.
- DI, est utilisé dans la conception d'applications Angular pour augmenter l’efficacité et la
modularité.
-En effet dans le constructeur des classes (exp composants, directives, services) on demande des
dépendances (services ou des objets).
SOLID Pattern
-Le design pattern SOLID est un ensemble de cinq principes adaptés à la programmation
informatique orientée objet.
-Il a pour but de rendre le design des logiciels plus compréhensible, flexible et maintenable.
-Ces principes permettent de mettre en évidence les bonnes pratiques à suivre mais ils sont
abstraits
1. Responsabilité unique :
-Chaque fichier (classe / fonction / module / section) ne devrait avoir qu'une seule
responsabilité, c'est à dire qu'il doit permettre de faire une unique chose.
-De plus il doit y a voir une place pour tous types de fichiers et chaque fichiers doit être à la
bonne place.
2. Ouvert-fermé :
-Chaque classe doit être ouverte à l’extension mais fermée à la modification.
-Il doit pouvoir être possible d’étendre les fonctionnalités en ajoutant du code uniquement
mais sans changer le code existant.
Strategy Pattern
-Le strategy design pattern consiste à séparer l'exécution d'une logique métier de l'entité qui
l'utilise et donnez à cette entité un moyen de basculer entre différentes formes de logique.
Visitor Pattern
-Le visitor pattern est utile si vous avez plusieurs classes qui héritent de la même classe de base
ou implémentent la même interface.
-Le modèle de visiteur permet d'éviter les blocs if-else ou le switch/case et le forçage de typage.
-En effet le but est d'ajouter de nouveaux comportements à la hiérarchie de classes existante
sans modifier aucun code existant.
Model-Adapter Pattern
Le design pattern model-adapter permet de transformer le format de données récupérées depuis
une source externe dans un format de données adapté pour être consommé par le client Angular.
Lazy Pattern
-Le design pattern lazy permet de développer des applications scalables et performantes
→ avoir ensuite différents modules qui seront téléchargés par l’utilisateur s’il souhaite accéder a
cette partie précise de l’application.
Singleton Pattern
-Ce pattern permet de garantir qu'il n'y a qu'une seule instance de votre classe.
-Il est géré à l'aide d'une méthode publique getInstance qui garantit le seul et unique moyen
d'accéder à la classe.
Factory pattern
-Ce pattern est très simple mais très utile
Utilisé si : vous devez créer des différentes instances d’une même classe parente en fonction de
certaines conditions.
-Ensuite, il est possible d’avoir différentes implémentations de cette interface factory avec
chacune leurs propres logiques pour instancier les objets.
Command pattern
-Le but de ce modèle est d'encapsuler une commande à l'intérieur d'un objet.
- La commande peut être de tout type, par exemple une action synchrone ou même une requête
asynchrone.
-Grâce à cela, vous pouvez avoir une liste de commandes que vous pouvez facilement réutiliser,
combiner et maintenir dans votre application.
Decorator pattern
-Le pattern de conception de décorateur est une alternative aux sous-classes pour étendre un
objet en utilisant la composition au lieu de l'héritage