JAVA:策略模式(Strategy Pattern)的技能指南
1、简述策略模式(Strategy Pattern)是一种行为型计划模式,旨在界说一系列算法,并将它们封装起来,使它们可以相互替换。这种模式让算法的变化不会影响到使用算法的客户端。
计划模式样例:https://gitee.com/lhdxhl/design-pattern-example.git
本文将具体先容策略模式的概念、结构、优缺点及实际应用案例。
https://i-blog.csdnimg.cn/direct/54ab0c50113f46e6bb40f218f8e87629.png
<hr> 2、什么是策略模式?
策略模式是将不同的算法封装到独立的类中,使其可以相互替换而不影响使用它的客户端代码。它的主要特点是:
[*]封装变化:可以在不修改客户端代码的情况下更改算法。
[*]开放/关闭原则:通过增加新策略来扩展功能,而不是修改已有代码。
策略模式包含以下三个核心角色:
[*]上下文(Context):持有对策略对象的引用。
[*]抽象策略(Strategy):界说所有支持的算法的公共接口。
[*]具体策略(ConcreteStrategy):实现具体的算法。
类图如下:
Context ----> Strategy
^
|
ConcreteStrategyA, ConcreteStrategyB
<hr> 3、实际案例
假设一个电商系统须要支持多种付出方式,如付出宝、微信付出和名誉卡付出。我们可以使用策略模式来实现。
// 抽象策略接口
public interface PaymentStrategy {
void pay(int amount);
}
// 具体策略:支付宝支付
public class AlipayStrategy implements PaymentStrategy {
@Override
public void pay(int amount) {
System.out
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]