几个常用的设计模式(二)-策略模式+简单工厂模式

  1. 策略模式

策略模式在于利用一个context类来定义一系列的可重用的算法,这样有助于析取算法间公共的部分,同时也减少了不同算法和使用不同算法类之间的耦合

几个常用的设计模式(二)-策略模式+简单工厂模式

 

本文所有代码均为伪代码

策略类:

几个常用的设计模式(二)-策略模式+简单工厂模式

上下文类:

几个常用的设计模式(二)-策略模式+简单工厂模式

客户端:

几个常用的设计模式(二)-策略模式+简单工厂模式

策略模式最大的特点就是通过给上下文类传入不同的对象来实现不同的策略

 

2.策略模式+简单工厂模式

修改上下文类:

几个常用的设计模式(二)-策略模式+简单工厂模式

客户端:

几个常用的设计模式(二)-策略模式+简单工厂模式

可以看到,结合后对于客户端来说,只需要知道context类就行了,非常简洁