Fizz-Buzz-Whizz 小游戏算法解析

作者/分享人:氢氧化钠
向 Ta 提问
资深软件专家,开发经理。

Fizz-Buzz-Whizz 游戏(报数游戏)是个很简单的小程序,写个程序实现起来也是毫不费力,但今天我要介绍一种实现方法,将这个不起眼的小算法提升到软件架构的层次来实现。站在算法的角度理解这个实现方案,你可能觉得这是“杀鸡用牛刀”、“高射炮打蚊子”,但是站在软件设计的角度看这个实现方案,这是一个难得的“小问题也有大设计”的例子。说到软件架构和设计,其实很难找到规模合适的问题作为例子,如果问题规模太小,很难找到设计点(问题的痛点),如果问题规模太大,则会讲的人昏昏欲睡。

本场 Chat 的主要内容有:

  1. 谓词(Prediction)、动作(Action)和规则(Rule)的抽象接口设计和设计原则。
  2. 解释器模式的理解和应用。
  3. 一个精心“架构”的算法实现。

更多算法相关的内容请订阅精品课《算法应该怎么“玩”?》

已有178人预订
预订达标
文章出炉
交流日期
     
09月25日
10月09日
10月18日 20:30
你可能还喜欢
1小时搞懂 Git 版本控制
Fengy
基于深度学习的计算机视觉技术在无人驾驶中的应用
美团技术团队
AutoML 在推荐系统中的应用
第四范式技术团队
今夜,我们聊聊中国的开源
开源社
玩转 Python 网络爬虫:QQ 音乐全站爬虫开发
Xy
再谈基于 Kafka 和 ZooKeeper 的分布式消息队列原理
应书澜
统一认证与授权在微服务架构中的设计与实战
CANGWU
Elasticsearch 实战应用系列
桃花惜春风
老系统微服务改造经验谈
老顽童
Java 进阶之路:从 Lock 指令前缀切入,解读 Java Volatile、CAS 及 Automic 包
Dora
我们如何衡量一个微服务实施的成功
顾宇
如何构建游戏安全护城河
网易移动安全技术团队
奇葩代码虐我千百遍,我却待它如初恋
Spencer
如何半小时搞定3小时的工作&漫谈极速提升开发效率
是我是我就是我
Java 程序员必备:并发知识系统总结
SnailClimb
微信扫描登录