保存成功
保存失败,请重试

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

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

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

本场 Chat 的主要内容有:

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

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

已有491人预订
预订达标
文章出炉
交流日期
     
18.09.25
18.10.09
18.10.18 20:30
你可能还喜欢
恕我直言,90% 的程序员都扛不住这波 MQ 的面试四连炮!
王码农
被动收入 101 :使用云开发和 Taro 开发一个小程序
白宦成
Apollo 5.0 障碍物行为预测技术
Apollo开发者社区
教了一年少儿编程,说说感想和体验
叶蒙蒙
抢先阅读 Kubernetes 1.15 新特性解读
张晋涛
阿里内推邀请:If not now, when? If not you, who?
应书澜
非科班前端面试大厂的实操指南
修言
当 DDD 遇上 DCI
张晓龙
数据结构算法常见的 100 道面试题全解析:2019 版
攻城狮
基于 K8S+Spring Cloud 在金融行业的高可用实践
曾小波
小白入门数据结构
琉璃易冷
Elasticsearch 7 版本重大更新及新特性解析
张超
辞职独立开发 App 的一点心得
KyXu
深入分布式事务
IT云清
摆脱 996,0 资金创造被动收入的思路
latent
微信扫描登录
关注提示×
扫码关注公众号,获得 Chat 最新进展通知!
入群与作者交流×
扫码后回复关键字 入群
Chat·作者交流群
入群码
该二维码永久有效