zoukankan      html  css  js  c++  java
  • 策略模式

    什么是策略模式:

    第一点:定义了一系列算法

    第二点:每一个算法单独封装

    第三点:每一个算法都是可以相互替换

    第四点:客户端可以独立变化算法(客户端:调用者)

      

      本质上就是,需要完成一个事情,但是并不清楚使用怎样的策略,于是封装一个函数,根据传递的参数,使用相应的策略完成这个事件的处理

    应用场景:

    第一点:针对同一类型的问题多种处理方式,仅仅只是具体的行为有差别

    第二点:需要安全的封装同一类型的操作

    第三点:出现同一抽象类有多个子类,而又需要使if-else或者switch-case来选择具体子类的时候

    角色划分:  

    3个角色(核心角色:策略接口、具体策略)

    角色一:策略接口

    角色二:具体策略

    角色三:策略上下文(管理器

    应用场景:

      1: 不同加密算法,之前相互切换调用;

      2: 图片缓存策略: 磁盘缓存; 内存缓存; 双缓存;

     

     

  • 相关阅读:
    检查宿舍卫生
    代码优化中 主窗口 问题 解决
    授权 存储
    升级Xcode7&iOS9后,出现NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -980X)
    控制器里面添加控制器
    版本新特性
    ios图片适配问题
    启动图片调整
    luogu_1896【题解】状压DP
    luogu_2602【题解】数位DP 数字计数
  • 原文地址:https://www.cnblogs.com/jiefangzhe/p/9608930.html
Copyright © 2011-2022 走看看