Maison > Java > javaDidacticiel > Comment utiliser le modèle de stratégie Java pour remplacer if else

Comment utiliser le modèle de stratégie Java pour remplacer if else

王林
Libérer: 2023-05-13 18:34:14
avant
1435 Les gens l'ont consulté

Arrêtez d'utiliser beaucoup de if else, le code est trop simple et la lisibilité est trop mauvaise.

La définition du modèle de stratégie

....

En termes simples, chaque module est indépendant les uns des autres et n'affecte pas les uns les autres pour améliorer la lisibilité du code. Évolutivité !

Par exemple, le mauvais code suivant

if ("花呗支付".equals(type)) {
 
	// 花呗支付的业务逻辑处理
 
} else if ("微信支付".equals(type)) {
 
	// 微信支付业务逻辑
 
} else if ("云闪付".equals(type)) {
 
	// 云闪付支付业务逻辑
 
} else if ("...".equals(type)) {
			
    // ....
}
Copier après la connexion

Réflexion : Vous pouvez définir une interface de paiement, un mode de paiement, écrire différentes classes d'implémentation pour différents modes de paiement, ne pas interférer avec chacun. Les autres, ne s'affectent pas et ajoutent de nouveaux modes de paiement à l'avenir. Ajoutez simplement une nouvelle classe d'implémentation pour implémenter l'interface de paiement et réécrivez son mode de paiement. Pas besoin de modifier le code précédemment écrit.

Il m'est arrivé de l'utiliser. modèle de conception lors de la saisie du code aujourd'hui. Permettez-moi de le partager brièvement

définir l'interface

如何使用Java策略模式取代if else

Définir différentes classes d'implémentation

如何使用Java策略模式取代if else

Chaque classe d'implémentation gérera sa propre activité, n'interférera pas les unes avec les autres et est isolés l'un de l'autre. Par exemple, les deux classes d'implémentation suivantes implémentent la même interface pour gérer différentes entreprises

如何使用Java策略模式取代if else

如何使用Java策略模式取代if else

Définir l'interface

如何使用Java策略模式取代if else

N'est-ce pas beaucoup plus simple que beaucoup de if else~

Extrayez chaque module différent, récupérez la classe d'implémentation de l'interface via le nom du bean et exécutez la méthode

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal