设计模式学习(三):策略模式


策略模式

就是定义一系列算法,将他们封装起来,这些算法对应不同的策略实现。基于策略模式的程序,一般至少两部分组成,一部分是一组策略类,里面是具体的算法;第二个部分是环境类Context,Context接受客户的请求,随后把请求委托给某一个策略类。

策略模式的优缺点

优点:

  • 策略模式利用组合、委托和多态等技术和思想,可以有效地避免多重条件选择语句。

  • 策略模式提供了对开放—封闭原则的完美支持,将算法封装在独立的strategy 中,使得它们易于切换,易于理解,易于扩展。

  • 策略模式中的算法也可以复用在系统的其他地方,从而避免许多重复的复制粘贴工作。

缺点:

  • 要使用策略模式,必须了解所有的策略,必须了解各个策略 之间的不同点,这样才能选择一个合适的策略,这是违反最少知识原则的。

举个例子:用策略模式实现一个表单校验


    
        
请输入用户名: 请输入密码: 请输入手机号码: