Bonjour à tous, mes amis. Je m'appelle Alex et je suis un développeur et créateur de logiciels professionnel dans l'industrie du Web. J'étudie les langues depuis de nombreuses années, partageant mon expérience avec les autres.
Aujourd'hui, je veux vous parler du modèle de conception de la stratégie. Je vais essayer de vous transmettre les principes et l'essence du modèle sans eau, et vous montrer comment l'appliquer dans la pratique.
À quoi ça sert?
Design patter Stratégie ou modèle de conception La stratégie fait référence aux modèles de conception comportementale. Sa tâche est d'identifier des algorithmes similaires qui résolvent un problème spécifique. L'implémentation des algorithmes est effectuée dans des classes séparées et la possibilité de sélectionner des algorithmes est fournie au moment de l'exécution.
Le modèle permet en cours d'exécution de choisir une stratégie (algorithme, outil, approche) pour résoudre le problème.
Quel est le problème?
Considérons les tâches dans la solution desquelles cette approche peut être appliquée.
Imaginez que vous soyez confronté à la tâche de rédiger un portail Web pour la recherche immobilière. MVP ( Minimum Viable Product ) ou produit de travail minimum a été conçu et priorisé par votre équipe de Product Managers et le portail devrait avoir des fonctionnalités pour les acheteurs d'appartements. Autrement dit, les utilisateurs cibles de votre produit sont, tout d'abord, ceux qui recherchent une nouvelle maison à acheter. L'une des fonctionnalités les plus demandées devrait être la possibilité de:
Sélectionnez la zone sur la carte où l'acheteur souhaite acheter une maison
Et indiquez la fourchette de prix des prix des appartements pour le filtrage.
, . , , , .
Product Manager' , , . - . , , .
, - , .
. , . - - , , .
, . . , , . , , , , .
, , . , , , , , . :
-
-
, ,
,
, , .
?
:
- , , ..
- . , . , , , . , , - - . -.
, - . - -.
, -, . .
-, , doSearch(filters)
, , .
, - , (, , , , ..), , , - -, , . , , backend, .
- - , . - - , . , getData
, filters
. , - setStrategy
, . , , , .
, GOlang. - doSearch
:
, . , . Map
.
. struct
, Strategy
. , , , . :
. - . ? - , :
struct
initStrategy
, -
struct setStrategy
,
getData
, .
- . -, . getData
. , - ( - ) , . , , . :
:
First implements strategy map[role:1]
Second implements strategy map[role:2]
, . , , . .
?
Strategy?
. -, -.
- . -, -.
. .
. , -, .
Amis, nous nous sommes familiarisés avec la stratégie de modèle de conception comportementale . Le modèle est utilisé pour mettre en évidence des algorithmes similaires qui résolvent un problème spécifique. Nous avons examiné avec vous l'implémentation dans le langage GOlang , nous nous sommes familiarisés avec les possibilités de l'approche et avons déterminé quand il est préférable de l'utiliser.
J'étais heureux de vous parler, Alex Versus . Bonne chance!