码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 带你认识设计模式的【策略模式】及优缺点


    简述

    预先定义有着不同执行过程但结果相同的算法族,运行时指定所需算法。

    算法族 此处为一组有共同主题的有相同结果的不同算法的集合。

    话不多说,看个优化案例。

    优化案例

    最初版v0

    不使用策略模式的案例。四种不同的计算策略。客户端的代码如下。

    // 客户端
    
    public class Client {
    
    public static void main(String[] args) {
    
    String target = "公园";
    
    Scanner sc = new Scanner(System.in);
    
    String input = sc.next();
    
    if ("foot".equals(input)) {
    
    System.out.println("徒步到目的地:" + target);
    
    } else if ("bike".equals(input)) {
    
    System.out.println("骑自行车到目的地:" + target);
    
    } else if ("car".equals(input)) {
    
    System.out.println("开车到目的地:" + target);
    
    }
    
    sc.close();
    
    }
    
    }
    

    具体的条件分支都写在客户端,日后增加新的条件分支时也需要修改客户端。修改客户端这件事往往是不太愿意接受的。原因是我们希望客户端尽可能少的改变,以便减少客

  • 相关阅读:
    实用网站大全
    番外8---项目(管理用户和组)
    “合”而不同,持“智”以恒,幂律智能2022产品升级发布会全程回顾!
    第一章 数据库SQL-Server(及安装管理详细)
    关于IPC和PTH用户权限问题,psexec拒绝访问(Access Denied)的原因
    win10中ros与ubuntu中ros通信
    多台云服务器的 Kubernetes 集群搭建
    实现更低功耗R5F51406BDNE、R5F51406ADFK、R5F51406ADFL、R5F51406AGFN搭载RXv2内核的32位微控制器
    springboot jar包瘦身
    Transformer 01(自注意机制Self-attention)
  • 原文地址:https://blog.csdn.net/Java_LingFeng/article/details/127673379
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号