策略模式的定义:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。
将不变的部分和变化的部分隔开是每个设计模式的主题,策略模式也不例外,策略模式的目的就是将算法的使用与算法的实现分离开来。我们用很常见的表单验证来学习一下策略模式
首先,写一个表单,大致如下,我只是讲讲思路,不必抠字眼!
接下来,我们看一下最常见验证表单的方法:
下面我们用策略模式来重构表单校验的代码,显然我们第一步把校验逻辑封装成策略对象
接下来我们实现一个Validator类,Validator类在这个作为Context,负责接收用户的请求并委托给strategy对象。
大体我们已经写好了,接下来我们实现用户如何向Validator类发送请求
看到这,大家明白了吗?