Exploration du Pattern Stratégie

Strategy: composition + injection de dépendances
Vidéo non disponible ! Réessayez plus tard
Cette vidéo fait partie de la formation
Apprendre les Design Patterns
Revoir le teaser Je m'abonne
Transcription

69,90€ Je commande

À partir de
27€ /mois
Je m'abonne à Elephorm

Description Programme Avis

69,90€ Je commande

À partir de
27€ /mois
Je m'abonne à Elephorm

Comprendre le pattern stratégie et ses avantages, apprendre à implémenter l'injection de dépendance et la composition pour créer des objets flexibles, et découvrir les variantes comme le pattern state.

Découvrez comment le pattern stratégie permet de créer des objets flexibles grâce à la composition et à l'injection de dépendance.

Le pattern stratégie est un Design Pattern fondamental qui combine les principes de l'injection de dépendance et de la composition. En séparant les aspects dynamiques d'un objet et en les injectant au moment de la création, ce pattern permet d'obtenir des objets à la fois flexibles et facilement modifiables.

Par exemple, imaginez une voiture où le moteur est séparé et peut être changé dynamiquement. Plutôt que d'utiliser l'héritage, on utilise ici la composition : on crée la voiture et on injecte un moteur au moment de l'instanciation. Ainsi, si l'on veut passer à une version électrique ou modifier les caractéristiques de performance, on peut simplement changer le moteur sans altérer la structure de la voiture.

Cette flexibilité s'étend à la capacité de changer de comportement en cours d'exécution grâce au pattern state, une variante du pattern stratégie. Cela permet de modifier l'algorithme sous-jacent d'un objet tout en maintenant son fonctionnement continu.

Voir plus
Questions réponses
Qu'est-ce que le pattern stratégie combine-t-il par essence?
Le pattern stratégie combine l'injection de dépendance et la composition pour permettre une configuration dynamique des objets.
Quels sont les avantages du pattern stratégie par rapport à l'héritage?
Le pattern stratégie offre plus de flexibilité en permettant de changer les comportements des objets sans affecter leur structure globale, contrairement à l'héritage qui peut rendre les systèmes rigides et difficiles à modifier.
Quelle est la principale différence entre le pattern stratégie et le pattern state?
Le pattern stratégie injecte la stratégie au moment de la création de l'objet, tandis que le pattern state permet de changer la stratégie dynamiquement en cours d'exécution.
Quand on a vu ensemble le pattern registry, je vous avais dit que c'était un des Design Patterns les plus importants que vous puissiez apprendre. Il y en a un second, c'est celui que nous allons voir maintenant, à savoir le pattern stratégie. Le pattern stratégie est en fait un mélange de deux patterns. D'un côté, le pattern injection de dépendance et de l'autre côté, le pattern composition. En utilisant la composition mais en passant la composition à la volée, on réussit à obtenir des objets que l'on configure au fur et à mesure avec un nouvel algorithme complet. Pourquoi on appelle ça un objet proxy ? Eh bien tout simplement parce qu'on va déléguer le comportement de notre objet à un sous-objet qui nous compose. Voilà à quoi ça va ressembler. Imaginez une voiture dont on aurait séparé le moteur. Plutôt que d'avoir un héritage, on va avoir une composition. D'un côté notre objet voiture, de l'autre côté notre objet moteur. Quand on crée notre objet voiture, on va mettre le moteur à l'intérieur de celle-ci. Nous allons avoir alors du coup un objet concret. Et cet objet concret va pouvoir être utilisé. Néanmoins, si on décide d'avoir un moteur qui fait plus ou moins de bruit, qui consomme moins ou alors qui va plus vite, ou même carrément changer de moteur et passer à une voiture électrique, on peut, avec le pattern stratégie, décider de changer la stratégie en cours et donc de switcher le moteur. Donc quand on crée notre voiture, on met un moteur différent et on obtient un résultat différent. Alors par résultat différent, je n'entends pas le fonctionnement général. Notre voiture a toujours quatre roues, un moteur et elle est faite pour avancer. Mais en revanche, on peut changer un grand nombre de caractéristiques et son fonctionnement interne. Et c'est là tout l'intérêt du fonctionnement stratégie. C'est-à-dire qu'en changeant une partie de l'objet, c'est-à-dire en utilisant la composition, mais en injectant les éléments de cette composition grâce à l'injection de dépendance, on permet d'avoir un objet à la fois composable, flexible et facile à changer. Le pattern stratégie suppose qu'on injecte sa stratégie à la création de l'objet. Néanmoins, il existe une variante du pattern stratégie, le pattern state. C'est une pattern stratégie. Néanmoins, on crée un objet de telle sorte qu'on puisse changer la stratégie à la volée. On a généralement un setter et un getter qui permettent de passer un objet au moment où l'objet fonctionne et de pouvoir changer complètement l'algorithme sous-jacent en plein fonctionnement de l'objet. C'est un peu comme si on changeait le moteur d'une voiture pendant qu'elle roule. C'est extrêmement pratique parce que cela permet non seulement de bénéficier de l'agilité et de la flexibilité du pattern stratégie, mais également de changer son avis en cours de route et donc de pouvoir orienter son algorithme au fur et à mesure que les données arrivent. Voici un second exemple, mais en utilisant le pattern state.

Programme détaillé de la formation

Nos dernières formations Code & Data
  • Maîtriser FlutterFlow - De l'Idée à l'Application
    Découvrir
    Cette formation en FlutterFlow est l'outil idéal pour tout développeur souhaitant créer des applications mobiles robustes et interactives sans coder de manière complexe. Grâce à des modules complets et structurés, vous apprendrez à utiliser FlutterFlow et Firebase, à sécuriser vos données, à concevoir des interfaces utilisateur élégantes et à intégrer des API telles qu'OpenIA. Rejoignez-nous pour transformer vos idées en applications innovantes et performantes.
    4h08 57 leçons
  • Webflow - Créer la landing Page d'OpenAI
    Découvrir
    À l'issue de cette formation, les participants seront capables de créer de manière autonome une landing page sophistiquée, similaire à celle d'OpenAI, en utilisant les fonctionnalités avancées de Webflow pour le design responsive et les interactions.
    3h48 19 leçons
  • Apprendre Svelte 3 et SvelteKit 1.0
    Découvrir
    Créez des applications web modernes et ultra-rapides avec notre formation "Apprendre Svelte 3 et SvelteKit 1.0". Rejoignez-nous et devenez un expert du développement JavaScript ! 🚀 #Svelte #SvelteKit #DéveloppementWeb
    7h42 77 leçons
  • Apprendre Vue JS 3
    Découvrir
    Apprenez à créer des applications web modernes avec notre formation "Apprendre Vue JS 3". Rejoignez-nous et maîtrisez ce puissant framework JavaScript ! 🚀 #VueJS #FormationWeb #Développement
    11h47 91 leçons
  • Gratuit
    Apprendre ChatGPT
    Découvrir
    Ce cours vise à fournir une compréhension approfondie de l'intelligence artificielle, en se concentrant sur l'utilisation pratique de ChatGPT et DALL-E. Les participants découvriront comment l'IA peut transformer des domaines variés tels que le marketing, le développement web, et le design graphique. Le contenu couvre les bases de l'IA, l'art de créer des prompts efficaces, l'utilisation de plugins avancés, et le codage assisté par IA. Des projets pratiques permettront d'appliquer ces connaissances dans des scénarios réels. Destiné aux professionnels de la technologie, aux marketeurs, aux développeurs, et à toute personne intéressée par l'IA, ce cours est une opportunité d'acquérir des compétences innovantes et applicables dans divers contextes professionnels et créatifs. Les prérequis incluent une compréhension basique de l'informatique et un intérêt pour l'IA. Le cours promet une aventure d'apprentissage enrichissante, ouvrant de nouvelles perspectives dans l'utilisation de l'intelligence artificielle.
    3h12 30 leçons