《测试驱动开发与设计模式》开发实例二 JSON过滤库

2019-01-24  本文已影响0人  RonZheng2010

0.1 版权声明

测试驱动开发与设计模式相结合的开发方式,能产生清晰的结构,弹性的设计,水到渠成地还带来稳定的代码。这里对JSON过滤库的介绍,是为了说明这种方式的好处,也是对《测试驱动开发与设计模式 - 从入门到精通》一文的补充。

JSON过滤库作为A公司项目的一部分完成,版权属于A公司。

0.2 设计目的

这个库的目的是用 “Json字符串” 匹配 “Json过滤字符串”,如果匹配,则认为过滤成功,否则失败。

Json字符串是符合Json规范的字符串,Json过滤字符串则是符合MongoDB查询操作规范的字符串。

比如Json字符串如下:

{
    "name":"ron",
    "sex":"male",
    "position": 
    {
        "x":100,
        "y":200
    }
}

如果过滤字符串如下,则是成功的,因为sex属性和position.x属性是匹配的。

{"sex":{"$eq","male"},"position":{"x":{"$lte":100}}

如果过滤如下,则是失败的,因为name属性不匹配。

{"name":{"$eq":"josh"}}

1. Constraint

2. ConstraintTree和Node

3. 构建ConstraintTree

3. 过滤

4. 对外的接口

5. 构造Json过滤字符串

6. 多个Json过滤字符串

相关链接

测试驱动开发与设计模式 - 从入门到精通
测试驱动开发与设计模式 - C++书籍及网站
测试驱动开发与设计模式 - 开发实例(一)DVR-POS库
测试驱动开发与设计模式 - 开发实例(二)JSON过滤库
测试驱动开发与设计模式 - 适应并改进软件设计过程
测试驱动开发与设计模式 - 让“理想结构”与“快速变更”并行
测试驱动开发与设计模式 - 提速 — 在纸上做细节设计

上一篇 下一篇

猜你喜欢

热点阅读