zoukankan      html  css  js  c++  java
  • 设计模式学习01策略模式

    定义

    The Strategy pattern

    The strategy pattern defines a family of algorithms encapsulate each one, and makes them interchangeable. Strategy lets algorithm vary independently from clients that use it.

    策略模式

    策略模式定义了一系列的算法,分别封起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户.

    说明

    简单的来说,对于一个接口,有多种实现。这些实现可以自由替换,不会影响其它客户的调用.


    图示


    列举的是游泳的例子,游泳有好几种游法,一个人在游泳时可以蝶泳,蛙泳,仰泳等等,所以将游泳这个行为抽成一个接口,下面依次蝶泳,蛙泳,仰泳的实现。而Person类直接引用游泳接口,可以在运行时通过设置swimable来动态的改变游泳的方式。

    总结

    策略模式是一个提倡“针对接口编程”的模式,而使用接口的目的是为了统一标准或着说是制定一种强行的规定。

    策略模式的使用是由用户发起的,根据用户的操作决定使用什么具体的策略角色。策略模式仅仅封装算法,提供新的算法加入到已有系统和算法间的相互替换.

  • 相关阅读:
    OC语言前期准备
    C语言指针
    C语言字符串
    C语言数组
    python语法
    shell脚本命令 运行python文件&python命令行运行python代码
    HTTP Status完整枚举
    CRON表达式
    mybatis-generator生成的mapper中的
    iOS事件的响应和传递机制
  • 原文地址:https://www.cnblogs.com/51cto/p/1413303.html
Copyright © 2011-2022 走看看