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

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

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

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

本场 Chat 的主要内容有:

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

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

已有498人预订
预订达标
文章出炉
交流日期
     
18.09.25
18.10.09
18.10.18 20:30
你可能还喜欢
Redis 难题突破,最经典 36 题含详细解析
慕容千语
送卫衣:GitChat 1024 留言有奖活动来啦!
GitChat 内容组
如何依靠副业赚钱,应对人到中年的职场危机
代码GG陆晓明
数据结构算法常见的 100 道面试题全解析:2019 版
攻城狮
【有奖活动】用一句话证明你是程序员
🐡赵小胖
前端 MVVM 模式中的数据层(Model)实战应用
Think.
VSCode 使用教程:使用好的工具提高你的工作效率
暖和狐狸
Zookeeper 详解与实践,你面试工作都绕不开的必考题!
latent
详解 Google Protocol Buffer 协议
拾贝壳的人
大白话聊技术之 Redis 秒杀系统的设计与实现
咔咔
让架构师和研发团队争论了 10 分钟的简单事务问题
zaqweb
线程池原理及优化
ilomilo
深度学习必备之高等数学知识加油站
奔跑的小米
原来你是这样的 GitHub
村中少年
Java 数据结构和算法
ilomilo
微信扫描登录
关注提示×
扫码关注公众号,获得 Chat 最新进展通知!
入群与作者交流×
扫码后回复关键字 入群
Chat·作者交流群
入群码
该二维码永久有效