策略模式

2019-10-29  本文已影响0人  帮我的鸵鸟盖个章

参考资料
漫话:如何给女朋友解释什么是策略模式?

设计模式之策略模式(实例+Demo)

Java设计模式(8)——策略模式

一、 定义

Strategy模式也叫策略模式是行为模式之一,它对一系列的算法加以封装,这里的算法即一系列策略的集合。为所有算法定义一个抽象的算法接口,并通过继承该抽象算法接口对所有的算法加以封装和实现,具体的算法选择交由客户端决定(策略)。Strategy模式主要用来平滑地处理算法的切换 。

二、一般结构

  1. 抽象策略 :一个Strategy接口,定义操作接口
  2. 具体策略:若干实现Strategy接口的操作的类
  3. 上下文
    1. 该上下文定义Strategy,构造方法根据传入的 实现Strategy接口的操作的类 定位不同的策略
    2. 该上下文会执行策略

使用策略模式可以避免条件选择(大量的if..else),使用策略的切换代替if...else,实际上是通过策略上下文实现继承替换,达到策略的切换。

优点

缺点

demo

看这个demo还是很简单的,策略模式也好理解,但是运用到实际开发中就比较难了~如何让自己的代码变得更漂亮,这是一个问题。

上一篇下一篇

猜你喜欢

热点阅读