Un modèle de conception fournit une solution générale réutilisable pour les problèmes courants qui se produisent dans la conception de logiciels. Le modèle montre généralement les relations et les interactions entre les classes ou les objets. L’idée est d’accélérer le processus de développement en fournissant bien éprouvées de développement/conception de paradigme. Les modèles de conception sont des stratégies indépendantes du langage de programmation pour résoudre un problème commun. Cela signifie qu’un modèle de conception représente une idée, pas une implémentation particulière., En utilisant les modèles de conception, vous pouvez rendre votre code plus flexible, réutilisable et maintenable.
il n’est pas obligatoire d’implémenter toujours des modèles de conception dans votre projet. Les modèles de conception ne sont pas destinés au développement de projets. Les modèles de conception sont destinés à la résolution de problèmes courants. Chaque fois qu’il y a un besoin, vous devez mettre en œuvre un modèle approprié pour éviter de tels problèmes à l’avenir. Pour savoir quel modèle utiliser. Il vous suffit d’essayer de comprendre les modèles de conception et leurs objectifs. Seulement alors, vous serez en mesure de choisir le bon.,
Objectif:
Comprendre le but et l’utilisation de chaque modèle de conception. Ainsi, vous pourrez choisir et implémenter le modèle correct au besoin.
Exemple:
par exemple, dans De nombreuses situations du monde réel, nous voulons créer une seule instance d’une classe. Par exemple, il ne peut y avoir qu’un seul président actif du pays à la fois, quelle que soit son identité personnelle. Ce modèle est appelé un modèle Singleton. D’autres exemples de logiciels pourraient être une connexion DB unique partagée par plusieurs objets car la création d’une connexion DB distincte pour chaque objet sera coûteuse., De même, il peut y avoir un gestionnaire de configuration unique ou un gestionnaire d’erreurs dans une application qui gère tous les problèmes au lieu de créer plusieurs gestionnaires.
Types de Modèles de conception
Il existe principalement trois types de modèles de conception:
- Creational
ces modèles de conception concernent tous l’instanciation de classe ou la création d’objets. Ces modèles peuvent être classés en modèles de création de classe et modèles de création d’objet., Alors que les modèles de création de classes utilisent efficacement l’héritage dans le processus d’instanciation, les modèles de création d’objets utilisent efficacement la Délégation pour effectuer le travail.les modèles de conception de création sont la méthode D’usine, L’usine abstraite, le constructeur, le Singleton, le Pool D’objets et le Prototype.,
cas D’utilisation de creational design pattern –
1) supposons qu’un développeur souhaite créer une simple Classe DBConnection pour se connecter à une base de données et souhaite accéder à la base de données à plusieurs endroits à partir du code, généralement ce que le développeur fera est de créer une instance de la classe DBConnection et Ce qui entraîne la création de plusieurs connexions à partir de la base de données car chaque instance de la classe DBConnection aura une connexion distincte à la base de données., Pour y faire face, nous créons la classe DBConnection en tant que classe singleton, de sorte qu’une seule instance de DBConnection soit créée et qu’une seule connexion soit établie. Parce que nous pouvons gérer la connexion DB via une instance afin de contrôler l’équilibre de charge, les connexions inutiles, etc.2) supposons que vous souhaitiez créer plusieurs instances de type similaire et que vous souhaitiez obtenir un couplage lâche, vous pouvez opter pour un modèle D’usine. Une classe implémentant le modèle de conception d’usine fonctionne comme un pont entre plusieurs classes. Prenons un exemple d’utilisation de plusieurs serveurs de base de données comme SQL Server et Oracle., Si vous développez une application utilisant la base de données SQL Server comme back-end, mais que vous devez à l’avenir changer la base de données en oracle, vous devrez modifier tout votre code, afin que les modèles de conception d’usine maintiennent le couplage lâche et la mise en œuvre facile, nous devrions opter pour factory pour réaliser le couplage lâche
- Structural
ces modèles de conception consistent à organiser différentes classes et objets pour former des structures plus grandes et fournir de nouvelles fonctionnalités.,les modèles de conception structurelle sont L’Adaptateur, Le Pont, Le Composite, le décorateur, la façade, le poids mouche, les données de classe privée et le Proxy.
cas D’Utilisation du modèle de conception structurelle –
1) Lorsque 2 interfaces ne sont pas compatibles entre elles et souhaitent établir une relation entre elles via un adaptateur, cela s’appelle un modèle de conception d’adaptateur. Le modèle d’adaptateur convertit l’interface d’une classe en une autre interface ou classe que le client attend, c’est-à-dire que l’adaptateur permet aux classes de travailler ensemble qui ne pourraient pas autrement en raison d’une incompatibilité., donc, dans ce type de scénarios incompatibles, nous pouvons opter pour le modèle d’adaptateur.
- comportemental
Les modèles comportementaux consistent à identifier les modèles de communication communs entre les objets et à réaliser ces modèles.,les modèles comportementaux sont Chaîne de responsabilité, commande, interprète, itérateur, Médiateur, Memento, objet nul, Observateur, État, stratégie, méthode de modèle, visiteur
cas D’Utilisation du modèle de conception comportementale –
1) le modèle de modèle définit le squelette d’un algorithme dans une opération en reportant certaines étapes à des sous-classes, la méthode de modèle permet, Par exemple, dans votre projet, vous souhaitez que le comportement du module puisse s’étendre, de sorte que nous puissions faire en sorte que le module se comporte de manière nouvelle et différente à mesure que les exigences de l’application changent, ou pour répondre aux besoins de nouvelles applications. Cependant, personne n’est autorisé à y apporter des modifications de code source, c’est-à-dire que vous pouvez ajouter mais ne pouvez pas modifier la structure dans les scénarios qu’un développeur peut aborder modèle de conception de modèle.