实战组合式设计

作者/分享人:agiledragon
向 Ta 提问
多年软件架构和开发经验,DDD China 2017 和 2018 演讲嘉宾,Golang 技术栈咨询师,爱读书、爱运动、爱编程、爱分享,对于大型软件的重构具有丰富的经验。这几年指导多个团队积极实践 XP,包括开发领域和测试领域,取得了比较好的效果。个人简书主页:https://www.jianshu.com/u/1381dc29fed9 ,个人 GitHub 主页:https://github.com/agiledragon

不使用编程语言的正则表达式库,实现一个基于特定语义规则的正则表达式引擎,对用户提供基本的 match 和 search 接口。这里有两个难点,一个是语义规则如何嵌套,另一个是贪心算法在嵌套的语义规则中如何收敛。

如果你想使用既有语言库中的算法实现这个正则表达式引擎,复杂度会超过你的想象。我们应该跳出既有思维的墙,深入分析问题域,简单自洽地解决设计挑战,有效地控制软件的复杂度。

本场 Chat 的主要内容为:

  1. 需求
  2. 组合式设计简介
  3. 抽象设计
  4. 贪心算法设计
  5. API 设计
  6. 测试设计
  7. 内存管理设计
  8. 核心代码分享

注:示例代码的语言为 C++,文章后面附完整代码的链接。

已有250人预订
预订达标
文章出炉
交流日期
     
18.10.15
18.10.29
18.11.07 20:30
你可能还喜欢
110 道 Python 面试笔试题超强汇总
嘉美伯爵
Redis 实战场景详解
驰骋
轻松搞定机器学习中的概率统计知识
Evan
架构师成长之路之服务治理漫谈
飞狐
打造高效「Mac 工具栈」,提高工作效率
易水寒
Java 与底层操作系统的交互细节
小强
架构师成长之路之限流
飞狐
操作系统基础: C 语言实现用户态线程(实战)
Allen()
手把手教你做人脸搜索系统
天马行空
架构师成长之路之服务发现与注册
飞狐
Java 进阶之路:异常处理的内在原理及优雅的处理方式
应书澜
人工智能物联网极简入门
Peter Liu
百无一用是管理:从技术到管理的 3 个典型困惑释疑
Paullin
DevOps 实战集合
Alinx
Java 电商秒杀高并发实战一
air
微信扫描登录
关注提示×
扫码关注公众号,获得 Chat 最新进展通知!