设计模式:策略模式

 时间:2026-02-14 23:18:16

1、定义一组算法,将每个算法都封装起来,并且使他们之间可用替换。

1、比如我们常用的应用可以通过多种渠道来进行注册,但是每种渠道注册逻辑又各不相同,首先我们想到的是定义一个接口,接口中定义一个注册方法,然后为每种注册方式增加一个实现类。

2、定义一个接口和通用方法

设计模式:策略模式

3、定义各个方式的具体实现

设计模式:策略模式

设计模式:策略模式

4、测试

AppRegister app = new AppRegister();

app.toRegiste();

返回

App渠道注册

设计模式:策略模式

1、增加一个Context封装类,可以动态地让一个对象在许多行为中选择其中一种。

设计模式:策略模式

2、调用

设计模式:策略模式

3、测试结果返回

App渠道注册

淘宝渠道注册

1、Context封装角色:也就是上下文角色,承上启下,封装可能存在的变化。

2、Strategy抽象策略角色:算法抽象,通常为接口。

3、ConcreteStrategy具体策略角色:具体操作的实现算法。

1、优点:算法可以自由切换,扩展性良好。

2、缺点:策略类会增多比较多而且所有策略类都需要对外暴露。

  • 策略模式在Flash中如何实现
  • 目标市场选择策略的模式
  • MongoDB的设计模式策略
  • 作文主体、结尾、反模式、热点透视和备考策略!
  • 策略模式重构代码
  • 热门搜索
    菲律宾长滩岛旅游 武汉旅游年卡 崇明岛旅游景点 三峡大坝旅游 哈尔滨旅游景点大全 许昌旅游 嘉峪关旅游 三亚南山文化旅游区 故宫旅游 延边旅游