本章的前两节“10.1 状态机”、“10.2builder 模式”其实都涉及到设计模式里面的内容。
10.1状态机主要讲解如何绘制状态图,以及根据状态图编写代码,但是作者并没有用到state模式进行编码,而是采用了比较结构化的编码方式。关于如何使用state模式,见我的博客“设计模式”专题。
10.2 builder模式主要介绍了 Builder模式的使用,他比我在“设计模式”专题中的Builder讲解得清楚,因此很有借鉴意义。
这两节的内容都融汇在10.2节的代码中。这个代码的目的是要“解析”xml文件的信息;然后“处理”解析出来的信息。Builder模式的作用正是在将“解析xml_parser”和“处理xml_builder”数据的过程分离开来!
下面是代码导读:
Makefile
typedef.h
xml_parser.h xml解析器头文件
扫描二维码关注公众号,回复:
1279294 查看本文章
xml_parser.c xml解析器源码
xml_builder.h xml处理器接口
xml_builder_dump.h和xml_builder_dump.c xml处理器实现之一(输出美化格式)
xml_tree.h和xml_tree.c xml树节点及其操作封装(下面要用到)
xml_builder_tree.h和xml_builder_tree.c xml处理器实现之二(构造xml树)
xml_parser_test.c 测试程序