Factory Design Pattern en TypeScript (extraits de code inclus)

Поділитися
Вставка
  • Опубліковано 26 жов 2024

КОМЕНТАРІ • 58

  • @gautekillfr5344
    @gautekillfr5344 17 днів тому

    J'ai appris tellement de chose avec cette vidéo! En pratiquant un peu à coté pour rendre ça ludique

  • @Thesupergeeeks
    @Thesupergeeeks Рік тому

    Génial tu m’as cramé la carte mère de mon cerveau c’était génial

  • @dakuken4039
    @dakuken4039 Рік тому

    Bonjour, merci pour cette vidéo, je suis en étude d'informatique et on a vaguement expliqué les designs pattern, mais cette vidéo et la précédente m'ont vraiment permis de comprendre l'importance de ces design pattern et comment l'un d'entre eux fonctionne de manière concrète.

    • @codeursenior
      @codeursenior  Рік тому +1

      Merci @Dakuten pour ton retour ! C’est exactement l’objectif de ces vidéos, donc mission accomplie pour le moment.
      Bon développement,
      Simon.

  • @samirbas8031
    @samirbas8031 Рік тому

    Salut Simon, très intéressant. Ce n'est pas évidant les explications d'une façon la plus simple possible et compréhensible. Merci

  • @SiriusLeX-m4o
    @SiriusLeX-m4o Рік тому

    Incredible ! Merci beaucoup, le fait d'avoir le details des types de factory rend l'explication du design pattern totalement limpide. 👍 !
    Vraiment très très très bien expliqué . On maintenant je ne l'utilise plus par "instinct", je l'utilise en comprenant le pourquoi du comment ! 10/10

  • @jc13OM
    @jc13OM Рік тому

    Excellent, merci, comme d'habitude. C'est d'une très grande utilité pour les développeurs qui ne bossent pas forcément dans des grosses boites mais avec le désir de s'approcher des conventions, usages, good practices des pros travaillant dans ces entreprises.
    Les questions que tu t'es posées sont celles que nous nous sommes tous posés à un moment donné.

    • @jc13OM
      @jc13OM Рік тому

      Une petite réflexion d'ailleurs : le if/else sont peut-être la première logique qu'on apprend en tant que développeur, mais finalement la quasi totalité des questions qui m'ont vraiment permises d'améliorer mon code sont venues de la "haine" des if/else, notamment l'apprentissage des Design Pattern.
      Un conseil donc aux débutants : apprenez à détester les if/else, cela vous mènera vers des questions hyper intéressantes concernant votre code.

    • @psylohzoff4073
      @psylohzoff4073 Рік тому

      @@jc13OM Pourquoi détester les branchements logiques..? Ca n'a pas de sens ^^' Un branchement logique s'utilise quand il est nécessaire... Parfois, il vaut mieux miser sur l'inférence :-) Mais encore faut-il comprendre quelque chose à la programmation orientée objet, qui se résume finalement à "inverser les dépendances pour un code mieux découpé, plus facilement maintenable et réutilisable"!..

    • @jc13OM
      @jc13OM Рік тому

      @@psylohzoff4073 J'ai employé un mot fort, mais évidemment que j'utilise des if/else. Mais quand tu débutes, tu as tendance à utiliser ça dans toutes les situations alors qu'il y a des solutions bien plus élégantes, découplées, etc..

  • @cocoludo
    @cocoludo 11 місяців тому

    Superbe vidéo ! Tu as débloqué ma compréhension des Factory.
    Je m'entêtais à implémenter le factory pattern dans un projet alors que j'avais besoin que d'une simple factory. Je n'avais aucune connaissance de cette dernière et l'abstraction de l'exemple d'une factory patern ne matchait pas avec mon application. Donc grosse confusion dans ma tête...
    Merci d'avoir mis les choses au clair !

  • @thomasc1435
    @thomasc1435 Рік тому +1

    Merci Simon, toujours très clair.
    ta chaine donne envie de se reconvertir dans Angular !
    Continues comme ça tu vas vite percer

    • @codeursenior
      @codeursenior  Рік тому

      Merci Thomas pour ton message ! On lache rien 😉
      Bon développement,
      Simon.

  • @dev-rachid
    @dev-rachid 10 місяців тому

    Super ce pattern et Super bien expliqué ! Merci pour ton partage 👍

  • @tamantaman
    @tamantaman Рік тому +2

    Hâte de sauvegarder toute la playlist DP, et hâte des futurs interview dev seniors. :)

  • @boblol77470
    @boblol77470 Рік тому +1

    Très bonne idée de vidéos !!! J’attendais avec impatience une version française des vidéos du UA-camur que tu as cité

  • @nicolasdiarra2667
    @nicolasdiarra2667 Рік тому

    Super, comme dit plus bas le youtube francophone est en carence de sujet concernant les design pattern !
    Merci pour le travail que tu fait 👌

  • @AlteriosLeGris
    @AlteriosLeGris Рік тому

    Au Top! Encore une fois des explications claire. Reste plus qu'à pratiquer :) . Merci Simon !

    • @codeursenior
      @codeursenior  Рік тому +1

      Merci pour le feedback, content que ça te plaise !
      Bon développement à toi,
      Simon.

  • @DavidRENAUD-ss5yj
    @DavidRENAUD-ss5yj Рік тому

    Merci beaucoup Simon, très intéressant et enrichissant 👍😎

    • @codeursenior
      @codeursenior  Рік тому +1

      Merci, content que ça te plaise !
      Bon développement à toi,
      Simon.

  • @nicolasroselle791
    @nicolasroselle791 Рік тому

    Bonjour Simon,
    Un grand merci pour cette future suite de vidéos sur les designs patterns.
    J'ai récemment intégré une entreprise et on m'a posé des questions sur ce sujet, lors de mon entretien.
    Grâce à toi, j'ai su quoi dire.
    Donc, pour répondre à ta question, je suis très intéressé d'en apprendre plus. Ce format est parfait !

  • @JeremyGasperowicz
    @JeremyGasperowicz Рік тому

    👍toujours des bonnes explications, merci !

  • @toofitoutflemme
    @toofitoutflemme Рік тому +4

    C'est une superbe idée, le youtube francophone ne parle pas assez des design patterns ! Magnifique, vivement la suite, et l'implémentation avec des use cases est super importante. Pas mal aussi avec un ressenti personnel sur son utilisation/difficulté. C'est bien vu aussi le memento, peut-être le mettre à dispo sur github, ou en tout cas facilement récupérable ?

  • @Deboulesastiko
    @Deboulesastiko Рік тому

    Perso c'est pas que ca m'intéresse "quand même" mais ça m'intéresse SURTOUT ce genre de vidéo technique !
    Merci pour tes explications et ta clarté :)

  • @Sql37
    @Sql37 Рік тому

    Merci beaucoup, tjs aussi enrichissant !

  • @rs4267
    @rs4267 Рік тому

    Super je l'attendais celle là

    • @codeursenior
      @codeursenior  Рік тому

      Merci, j'espère que ça vous a plu !
      Bon développement,
      Simon.

    • @rs4267
      @rs4267 Рік тому

      @@codeursenior bien-sûr j'espère que tu feras plus de vidéo sur le sujet

    • @codeursenior
      @codeursenior  Рік тому +1

      @@rs4267 Oui j'ai prévu de faire les 23. Reste à planifier tout ça pour les prochains mois. 👍

    • @rs4267
      @rs4267 Рік тому

      @@codeursenior Merci pour tout ce que tu fais, j'ai beaucoup de chance de pouvoir suivre tes cours prof

  • @stephanesoler3085
    @stephanesoler3085 Рік тому +1

    Excellente vidéo. Tu pense poster les vidéos sur les design pattern tous les combien ?

  • @SofianMW
    @SofianMW 5 місяців тому

    Merci!🎉

    • @codeursenior
      @codeursenior  5 місяців тому

      Avec plaisir. Bon code à vous !

  • @R1cr0
    @R1cr0 Рік тому

    Merci pour cette vidéo très claire qui m'a permis de comprendre enfin à quoi servait ce fichu pattern !
    Je suis d'accord avec toi : utiliser un exemple concret est beaucoup plus utile que de montrer un diagramme UML.
    Une question cependant : Au lieu de créer un niveau d'abstraction supplémentaire et d'ajouter une (ou plusieurs) Factory, tel que BookRandomGiftFactory, pourquoi pas simplement ajouter une méthode statique createRandomGift() à la classe BookFactory ?
    On pourrait ainsi créer un nouveau Book par Type en utilisant la méthode create(bookType, backenData), ou bien créer un Book random avec createRandomGift(), l'avantage est qu'on utilise qu'une seule classe Factory, et qu'on peut ajouter autant de méthode statique createSpecificLogicBook() que de cas différents de logique de création.
    Est-ce que ça fait sens ce que je dis ?

  • @believelody5531
    @believelody5531 5 місяців тому

    Très intéressant. Je me demande si on peut appliquer la même logique sur les problématiques de manipulation du dom.

    • @codeursenior
      @codeursenior  5 місяців тому

      Factory = Logique de création. Pour la manipulation du DOM, je n'ai rien qui me vient en tête.

  • @yaoouffoue5907
    @yaoouffoue5907 Рік тому

    Merci

  • @dulot2001
    @dulot2001 10 місяців тому

    Dans la classe BookFactory, n'y a-t-il pas une petite coquille dans le switch ? Cela devrait être switch(bookType) au lieu de switch(typeType), non?
    Merci pour la vidéo...👍

  • @remix2die4
    @remix2die4 Рік тому

    Cool, mais quels sont les design pattern à apprendre quand on utilise Angular ? Il y le singleton pour l'injection des dépendences (les services). Quels autres design patterns devrait-on apprendre ?

  • @efegfg
    @efegfg Рік тому

  • @GoogleAccount-tc3zd
    @GoogleAccount-tc3zd Рік тому

    Alors j'ai tout compris mais j'ai un blocage : je ne vois toujours pas l'apport d'implémenter cette classe abstraite.... Vu qu'on ne l'utilise pas directement, et étant donné qu'elle ne permet pas de choisir entre les deux classes, pourquoi la créer ? Dans ton code de fin (concernant les book gift) je ne vois pas la différence qu'il y aurait si tu n'avais pas fait cette abstraction....Le code serait identique non ?

    • @codeursenior
      @codeursenior  Рік тому

      Voici pourquoi j’adore utiliser une classe abstraite dans le Factory Pattern :
      1. Flexibilité Incroyable : Avec une classe abstraite, je peux définir un canevas pour mes objets et laisser les sous-classes s’occuper des détails. Ça me permet de changer les types d’objets que je produis sans toucher au reste de mon code.
      2. Tout est Cohérent : Une classe abstraite assure que toutes mes sous-classes suivent la même structure. Ça rend mon code plus solide et fiable.
      3. Facile à Maintenir : Si je dois changer quelque chose, je le fais dans ma classe abstraite et toutes mes sous-classes en profitent. Mon code est plus simple à gérer et à faire évoluer.

    • @GoogleAccount-tc3zd
      @GoogleAccount-tc3zd Рік тому

      @@codeursenior Merci pour ta réponse.
      1) Ok je comprends
      2) Ça j'avais bien compris c'est même selon moi l'utilité première j'avais cru comprendre que c'était fait pour cela uniquement de base.
      3) Alors c'est là que je dois bloquer : on écris du code dans une classe abstraite ? Je n'ai toujours vu que des exemples descriptif jamais avec du code à l'intérieur (même dans les exemples que tu donnes il n'y a pas de code il me semble)

    • @codeursenior
      @codeursenior  11 місяців тому +1

      @@GoogleAccount-tc3zd Hello, il est effectivement possible d'écrire du code concret dans une classe abstraite, qui sera utilisé par les classes enfants uniquement.

  • @psylohzoff4073
    @psylohzoff4073 Рік тому

    Tu as oublié le principal, je crois... "A quoi ça sert, concrètement?"
    Le pattern Factory permet de découpler le code de sa dépendance à l'implémentation de la factory et ainsi d'injecter cette dépendance via une interface et ainsi utiliser la factory de façon transparente sans qu'on ait besoin de savoir de quelle factory il s'agit! Ca permet donc de rajouter des factories au besoin... D'où le fait qu'il faut toujours utiliser Factory, même si ça ne semble pas nécessaire sur le moment, dès lors qu'on estime qu'il est possible que la logique de génération d'une hiérarchie d'objets pourrait évoluer à l'avenir :-3

  • @poischiche2933
    @poischiche2933 Рік тому

    Gang of Four ?

    • @codeursenior
      @codeursenior  Рік тому

      Yep, tout à fait.

    • @poischiche2933
      @poischiche2933 Рік тому

      @@codeursenior je me suis renseigné entre temps, j'assimile les concepts. Merci !

    • @codeursenior
      @codeursenior  Рік тому

      @@poischiche2933 🚀

  • @iancarter724
    @iancarter724 Рік тому

    DesignPattern.context( data ).create(); // Superbe vidéo