实战组合式设计

作者简介:

拥有多年软件架构和开发经验,领域驱动设计中国峰会2017演讲嘉宾,爱读书,爱运动,爱编程,爱分享,对于大型软件的重构具有丰富的经验。这几年指导多个团队积极实践XP,包括开发领域和测试领域,也取得了比较好的效果。

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

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

本场 Chat 的主要内容为:

需求;

组合式设计简介;

抽象设计;

贪心算法设计;

API 设计;

测试设计;

内存管理设计;

核心代码分享。

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181016B0QBU300?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券