Des nouvelles ont été ajoutées en tête de listes.
Remontez pour les voir.
Inscription à la newsletter
Refactoring if-else code bloque à la stratégie de stratégie avec un localisateur de service Symfony
DEV -
03/04
Photo par wals.io On Unclash Introduction Souvent dans votre code, vous implémenterez la logique ...
Photo par wals.io sur unclash
Introduction
Souvent, dans votre code, vous implémenterez une logique qui a quelques flux indépendants où un seul d'entre eux sera exécuté pendant l'exécution en fonction des conditions ou des paramètres spécifiques.
Par exemple, lors du traitement des paiements dans une boutique en ligne - il y aura un morceau de code pour gérer les paiements par carte de crédit, et un autre pour le traitement des transactions PayPal. Pour une seule commande, un seul d'entre eux sera utilisé - mais vous devez les rendre tous disponibles pour être appelés dans votre logique de traitement de commande.
Comment organiser un tel code d'une manière que vous ne vous retrouvez pas avec un énorme bloc contenantsidéclarations? La réponse est le modèle de stratégie!
Alors que je traversais un scénario similaire récemment, permettez-moi de vous guider sur la façon d'organiser bien une telle logique:
Nous utiliserons le modèle de stratégie pour garder différentes implémentations séparées les unes des autres.
Et puis, nous tirons parti du conteneur de service à partir du cadre Symfony afin que dans la classe client, nous puissions appeler les méthodes de classe de stratégie sélectionnées de manière élégante.
Commençons par tout mettre dans une classe
Première itération
Récemment, j'ai mis en œuvre une classe pour récupérer les prix de différents types d'actifs (actions, fonds, obligations, etc.). Cela m'a obligé à utiliser un tas d'API publiques - afin que je puisse utiliser le fournisseur API X pour les actions des marchés américains, le fournisseur pour les crypto-monnaies, etc.
Lors de l'écriture du code dans la première itération, j'ai commencé simplement - simplement en mettant des appels à une seule API dans une classe:
La prochaine étape consiste à gérer le scénario lorsque nous voulons récupérer les prix de plusieurs types d'actifs - de différents fournisseurs d'API. La manière la plus triviale serait simplemen... [Courte citation de 8% de l'article original]
Loading...
🍪
Le modèle économique de notre site repose sur l'affichage de publicités personnalisées basées sur l'utilisation de cookies publicitaires. En continuant votre visite sur notre site, vous consentez à l'utilisation de ces cookies.
Politique de confidentialité