Comprendre le Design Pattern de la Méthode Template

Template method: enchainement concret d'actions abstraites
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

L'objectif principal de cette vidéo est de comprendre le fonctionnement et l'utilité du pattern template en programmation orientée objet.

Le pattern template, ou méthode template, est un design pattern en programmation orientée objet qui se base sur les classes abstraites pour structurer des opérations.

Les Design Patterns ne sont pas nécessairement liés à un paradigme de programmation particulier. Par exemple, les patterns tels que Factory et Injection de Dépendance fonctionnent aussi bien en programmation fonctionnelle qu'en orienté-objet. Néanmoins, le pattern template est typiquement orienté objet car il repose sur l'utilisation de classes abstraites.

La classe abstraite sert de base, constituée de méthodes et attributs communs, mais laisse des éléments à implémenter par les classes dérivées. Ce design pattern permet ainsi de décrire une séquence d'opérations dont certaines étapes sont déléguées aux sous-classes.

Ce pattern est essentiellement une forme d'injection de dépendance indirecte via l'héritage plutôt que par la méthode traditionnelle de passage de paramètres.

Voir plus
Questions réponses
Qu'est-ce qu'une classe abstraite?
Une classe abstraite est une classe qui ne peut pas être instanciée et qui est souvent utilisée pour définir des méthodes communes et abstraites que les sous-classes doivent implémenter.
Pourquoi le pattern template est-il lié à la programmation orientée objet?
Parce qu'il repose sur l'utilisation de classes abstraites, un concept fondamental en programmation orientée objet pour structurer des opérations avec des étapes définies par des sous-classes.
Comment le pattern template réalise-t-il une forme d'injection de dépendance?
Il permet de spécifier certaines étapes de l'algorithme dans les sous-classes via l'héritage, au lieu de passer des dépendances en paramètres.
Je vous ai dit que les Design Patterns n'étaient pas particulièrement liés à un paradigme de programmation. Par exemple, les patterns que nous avons vus précédemment, à savoir Factory et Injection de Dépendance, fonctionnent aussi bien en fonctionnel qu'en orienté-objet. Néanmoins, le pattern que nous allons voir maintenant est typiquement lié à l'orienté-objet, puisqu'il est basé sur les classes abstraites. La notion de classe abstraite est donc un prérequis pour la compréhension du pattern template. Petit rappel, une classe abstraite est un espèce de squelette, comme un texte à trous, dans lequel on dirait « Voici les parties communes que je vous fournis, et voici les parties que je voudrais que tous les enfants de cette classe implémentent. » Une classe abstraite n'est donc pas utilisable en elle-même, et c'est le codeur qui va utiliser cette classe abstraite, qui en créant une classe enfant, va devoir hériter de celle-ci et remplir les trous. Le pattern template est tout simplement le fait de créer une méthode et d'appeler successivement dans cette méthode d'autres méthodes qui, elles, sont abstraites, à l'intérieur de cette méthode concrète. Si ça paraît un peu flou, c'est tout à fait normal. En vérité, c'est un concept très simple, et vous l'avez probablement fait de nombreuses fois sans vous en rendre compte. Pour visualiser le concept, imaginez que vous ayez une classe abstraite avec une série de trous. Par trous, j'entends des attributs ou des méthodes qui restent à définir par la classe Phi qui va implémenter cette classe. À un moment donné, vous allez écrire dans votre classe abstraite une méthode concrète. Cette méthode va faire l'usage de ces trous. En vérité, vous allez avoir quelque chose comme ceci, et qui va avoir à l'intérieur un comportement qui lui sera directement dépendant de ce que la classe Phi va faire. Le design pattern template, aussi appelé template method, vous permet donc de partager un comportement qui est lui concret, mais dont les étapes sous-jacentes dépendent de ce que l'utilisateur va vouloir choisir. En vérité, c'est une forme d'injection de dépendance indirecte. Au lieu de la passer en paramètres, vous sous-classez la classe en tant que Phi, et derrière, ces utilisations, vous les injectez par le biais de l'héritage. Je vous ai un peu menti en vous disant que c'était uniquement de la programmation orientée objet, car il existe des techniques pour faire cela avec du fonctionnel. Rien ne vous empêche de créer un module dont les fonctions sont existantes, et de faire pointer ce module à l'intérieur d'une autre fonction. Néanmoins, il est beaucoup plus rare. C'est quelque chose qui est très courant en orientée objet. En vérité, c'est même le principe de la programmation orientée objet de permettre ce genre d'opération. C'est pour cela que nous allons voir des exemples, en commençant par la programmation orientée objet.

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