Design pattern
1. Design Patterns Créationnels
Ces design patterns fournissent des mécanismes pour créer des objets de manière adaptative selon
la situation. Parmi eux, on retrouve le Singleton, la Fabrique (Factory), le Constructeur (Builder), le
Prototype, etc.
1.1 Singleton
Il s'agit d'un modèle qui garantit qu'une classe n'a qu'une seule instance
Cas :connexion au base de données
2.1 Fabrique (Factory)
Il permet de créer des objets sans spécifier explicitement la classe exacte de l'objet à créer
3.1 Constructeur (Builder)
Il est utilisé pour construire un objet complexe en utilisant un objet simple et en ajoutant des
éléments un par un
2. Design Patterns Structurels
Ces design patterns se concentrent sur la manière de composer des classes et des objets pour former
des structures plus grandes. Ils incluent entre autres l'Adaptateur (Adapter), le Décorateur
(Decorator), le Proxy, le Composite, etc.
4.1 Adaptateur (Adapter)
Il permet à des objets d'interagir ensemble malgré des interfaces incompatibles.
1.1 Proxy
Contrôler l’accès a un objet
2.1 Décorateur (Decorator)
Il ajoute de nouvelles fonctionnalités à un objet existant sans modifier sa structure.
Ces exemples donnent un aperçu simple de l'utilisation des différents types de design patterns en
Java. Il est important de noter que ces exemples sont simplifiés pour une meilleure compréhension
et ne représentent pas nécessairement des cas d'utilisation réels complexes.
3.1 Composite
3. Design Patterns Comportementaux
Ces design patterns se concentrent sur la communication efficace entre les objets. Ils incluent des
modèles tels que l'Observateur (Observer), le Stratégie (Strategy), le Modèle de Commande
(Command), l'Interpréteur, etc.
1.1 Observateur (Observer)
Il définit une dépendance un-à-plusieurs entre les objets de manière à ce que lorsqu'un objet change
d'état, tous ses dépendants en soient notifiés et mis à jour automatiquement.
2.1 Strategy
doFilter
Le modèle de conception de la stratégie est utilisé lorsque vous voulez choisir un algorithme parmi
plusieurs en fonction du contexte. Il vous permet d'encapsuler des algorithmes dans des classes
séparées, de les rendre interchangeables et de les sélectionner au moment de l'exécution. Cela aide
à décomposer les algorithmes en classes distinctes, ce qui facilite la maintenance, l'extension et la
réutilisation du code.
javax.servlet.http.HttpServlet : Lors de la création d'une servlet dans une application Java EE, vous
devez étendre la classe HttpServlet et implémenter les méthodes doGet() et doPost(), ce qui
représente l'utilisation du modèle de stratégie.
public class MyServlet extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// Logique de traitement pour la méthode GET
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// Logique de traitement pour la méthode POST
}
}