- Nouveau
- Tendances
- Classement
-
Tagsbonnes-pratiquesBonnes pratiques42teletravailTélétravail15tddTDD13architectureArchitecture13design-patternDesign Pattern12agiliteAgilité12codeCode11devopsDevOps9javascriptJavaScript8conferenceConférence8carriereCarrière8veilleVeille7retour-d-experienceRetour d'experience7front-endfront-end7phpPHP6gitGit6entreprenariatEntreprenariat6devdev6clean-codeClean Code6youtubeYoutube5videoVidéo5podcastPodcast5organisationOrganisation5newsletternewsletter5cultureCulture5testingTesting4freelancingFreelancing4formationFormation4dddDDD4compagnonCompagnon4vue-jsvue.js3retrospectiveRetrospective3remoteremote3reconversionReconversion3programmation-fonctionnelleProgrammation fonctionnelle3productivteproductivté3performancesperformances3optimisationOptimisation3nodejsNodeJS3humourHumour3ethiqueEthique3emploiEmploi3ecologieEcologie3debutantDébutant3cqrsCQRS3covid-19Covid-193clean-architectureClean Architecture3ci-cdCI/CD3blogBlog3webWeb2vscodevscode2tech-leadTech Lead2slackSlack2reactReact2produitProduit2pooPOO2personal-brandingpersonal branding2javaJava2hexagonalehexagonale2green-itGreen IT2gestion-du-tempsGestion du temps2evenementÉvènement2ecosystemeEcosystème2donnees-personnellesDonnées personnelles2changelogChangelog2cercleCercle2architecture-hexagonaleArchitecture Hexagonale2vite-jsvite.js1visualstudiovisualstudio1vision-systemiqueVision systémique1vie-priveeVie privée1tinydbTinyDB1theorie-des-contraintesThéorie des contraintes1thematuredevTheMatureDev1testtest1systeme-de-queueSystème de queue1sqlSQL1springbootspringboot1slow-techSlow.tech1securiteSécurité1rustrust1restREST1refactoringrefactoring1queerQueer1pythonPython1prodprod1ports-and-adaptersPorts and Adapters1pedagogiePédagogie1pair-programmingPair programming1originesOrigines1open-sourceOpen Source1onlineonline1net.NET1mvcmvc1mutation-testingMutation testing1minimalismeMinimalisme1maisonMaison1lowtechLowTech1livelive1licorneLicorne1laravelLaravel1langagelangage1jobjob1ingenieurieIngénieurie1inclusionInclusion1ideide1iaIA1hommageHommage1hibernatehibernate1graphqlGraphQL1goGo1flowconFlowcon1flowflow1extreme-programmingeXtreme Programming1event-sourcingEvent sourcing1entretien-d-embaucheEntretien d'embauche1entretienentretien1entrainementEntrainement1energieEnergie1dojoDojo1dockerdocker1diversiteDiversité1devtoolDevTool1dbDB1ctoCTO1csscss1craftCraft1coup-de-gueuleCoup de gueule1cloudCloud1chansonChanson1bffBFF1bddbdd1avenirAvenir1autonomieAutonomie1audioAudio1atddatdd1apiAPI1androidAndroid1alignementAlignement1algorithmealgorithme1
- Mes favoris
- Recevoir par email
- Partager un lien
Les patrons de conception (design patterns) sont des solutions classiques à des problèmes récurrents de la conception de logiciels. Chaque patron est une sorte de plan ou de schéma que vous pouvez personnaliser afin de résoudre un problème récurrent dans votre code.
Qu'est-ce que le pattern stratégie ?
Comment l'utiliser ?
Maxime nous partage ce qu'il a appris.

Entre de bonnes mains, l'héritage peut être utilisé pour bien des choses. En voici l'une des plus puissantes.
Vous connaissez le code « boite noire » qui fonctionne sans vous demander votre avis ? Si oui, alors il est temps de le reprendre en main comme il se doit.
Instancier des objets avec une interface, c’est souvent un risque de se gaufrer. Mais avec ce patron de conception, ce sera du gâteau !
Les patrons de conception, que sont-ils et pourquoi sont-ils si indispensables ? Je vous explique ça avec mes piètres talents de dessinateur.
refactoring.guru/fr

Je me suis bien trop souvent brûlé les ailes en faisant des abstractions prématurées sur des exigences client bien souvent mouvantes.
Je préfère largement laisser émerger les abstractions de l'étape de refacto du cycle TDD, qui s'apparente à la phase de réusinage de l'article du coup.
José Paumard nous présente une sélection commentée des livres qu'il aime bien.
Enocre une ressource sur l'archi hexa, ça fait pas de mal !
Mais je manque d'arguments et de ressources pour détailler cette nuance :/
Ca te permettra de faire peut etre apparaitre mieux dans ton code un concept métier (si méthode compliqué c'est bien que c'est un point sensible métier normalement)
En le mettant dans une classe dédié, tu pourras aussi le remplacer plus simplement (par exemple ca devient facile de remplacer l'appel de cette classe dédié par une interface et ca ouvre la porte à la possibilité de switcher facilement d'implémentation, imagine que tu as une idée pour améliorer l'algo en question ou améliorer sa vitesse, bim ca devient possible facilement par le fait que tu ai extrait l'algo dans une classe dédié)
Qui a dit que le DDD et le logiciel en général ne pouvait être composé que de classes, d’héritage, et qu’une modélisation sans comportement était forcément un modèle anémique, un anti-pattern par définition ?
Pourquoi devrais-je l'étudier selon toi ?
En plus d'être très bon dans son domaine (no pun intended !), c'est un super pédagogue qui sait expliquer simplement des concepts compliqués sans les vulgariser/dénaturer.
Les développeurs passent beaucoup de temps devant un écran, parfois au détriment de leur santé oculaire. Une des solutions serait la lecture sur un support papier.
Le pattern stratégie en POO peut être remplacé par une fonction passée en paramètre par exemple.