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

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

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

本场 Chat 的主要内容有:

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

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

已有475人预订
预订达标
文章出炉
交流日期
     
18.09.25
18.10.09
18.10.18 20:30
你可能还喜欢
近距离接触 DDD
文贺
Apollo 轨迹规划技术分享
Apollo开发者社区
Docker 快速入门
技术人的突破
如何利用碎片时间,提升自己的职场竞争优势
代码GG陆晓明
Spring Boot 工程化最佳实践
ASCE1885
爬虫开发入门:使用 pyspider 框架开发爬虫
凯哥
百万级 Excel 如何导出
天涯阁主
深度学习 0 基础之 AI 视频换脸实践解析
汤青松
如何写好 React 业务代码?
尹光耀
如何快速准备面试中的算法,获得 Offer?
我爱大口吃饭
Docker 镜像构建原理及源码分析
张晋涛
如何在一夜之间获得成功:我「从无到有」的 5 年 [英文版]
Chat 三人行
5G,一场商业噱头 or 一次技术革命?
Edvin
一文掌握 MySQL 索引,秒杀面试官
高爽
数据库战争:MySQL VS MongoDB
钱工
微信扫描登录
关注提示×
扫码关注公众号,获得 Chat 最新进展通知!
添加小助手微信×