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

作者/分享人:氢氧化钠
向 Ta 提问
资深程序员,中兴通讯 PON 业务软件开发经理,《算法的乐趣》作者以及 SourceInsight 开源外挂 TabsiPlus 的作者,18 年软件开发相关经验。在 Windows 系统软件开发、加密解密和软件架构方面有一些经验和见解。

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

本场 Chat 的主要内容有:

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

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

已有461人预订
预订达标
文章出炉
交流日期
     
18.09.25
18.10.09
18.10.18 20:30
你可能还喜欢
解读《阿里巴巴 Java 开发手册》背后的思考
Hollis
初探 Kafka
阿福
LeetCode 刷题指南以及常见算法题解题思路总结
kerry
大数据开发面试指南
王知无
高并发系统缓存实战入门
饿了么物流技术团队
7 天从 Java 工程师转型为 Go 工程师
DIU哥
从零开始做你自己的文字识别系统
天马行空
程序员转型之路:做一个不会失业的独立开发者
Jeff
RabbitMQ 实战
寒月
掌握这些方法和技巧,你的自学才会更加有效率!
一个自学的程序员
Python 数据分析师必备的入门学习路线和技能
zglg
代码案例讲解程序员的第一性原理
天马行空
Git 扫盲:用命令行剖析 Git 底层实现
叫我闪电
写一个 IoC/DI 容器来理解 Spring 框架的思想
愚凡
领域驱动设计:战术模式预览
文心紫竹
微信扫描登录
关注提示×
扫码关注公众号,获得 Chat 最新进展通知!