首页 / 知识
关于fileparse:用于解析二进制文件数据并将其存储在数据库中的设计模式
2023-04-12 05:57:00

Design pattern for parsing binary file data and storing in a database有人建议使用一种设计模式来获取二进制数据文件,将其部分解析为对象并将结果数据存储到数据库中吗? 我认为可以使用类似的模式来获取XML或制表符分隔的文件并将其解析为代表对象。 常见的数据结构包括:
我认为一个好的设计应该包括一种基于文件类型或标头中包含的某些已定义元数据来更改解析定义的方法。因此,工厂模式将成为解析器部件总体设计的一部分。 完成此操作后,您实际上将对问题/解决方案有一个合理的了解。 现在,您的脑海中浮现的只是各种理论,而其中的大部分结果都被误导了。 第3步:无情地重构。您的目标应该是删除大约一半的代码 您会发现最后的代码将类似于现有的设计模式,或者将创建一个新的代码。然后,您就有资格回答这个问题:-) 我完全同意Orion Edwards的观点,这通常是我解决问题的方式;但是最近我开始发现一些疯狂的模式。 对于更复杂的任务,我通常使用解释器(或策略)之类的东西,该解释器使用某些生成器(或工厂)来创建数据的每个部分。 对于流数据,整个解析器看起来像一个适配器,从流对象适应对象流(通常只是一个队列)。 在您的示例中,可能会有一个用于完整数据结构(从头到EOF)的构建器,该构建器在内部使用内部数据元素的构建器(由解释器提供)。一旦遇到EOF,将发射一个对象。 但是,在某些工厂函数中的switch语句中创建的对象可能是许多次要任务的最简单方法。另外,我喜欢保持我的数据对象不可变,因为您永远不知道何时有人将并发推向您的喉咙:) 使用Lex和YACC。除非您将接下来的十年专门用于此主题,否则它们每次都会生成更好,更快的代码。 "策略"模式可能是您要查看的模式。策略是文件解析算法。 然后,您需要一个单独的数据库插入策略。 |
最新内容
相关内容
python如何导入txt数据库?
python如何导入txt数据库?,数据,时间,代码,培训,数据库,函数,读数,数据表,以上,方法,python将TXT数据导入数据库的方法代码如下:#!/usr/bin/pypython怎样获取json数据类型?
python怎样获取json数据类型?,培训,数据类型,类型,正则,火狐,以上,方法,更多,内容,列表,python中获取json不同数据类型的方法:1、获取"key":vpython数据怎么添加列?
python数据怎么添加列?,数据,位置,培训,方法,属性,结果,示例,函数,前面,以上,python在DataFrame数据中添加列的方法:1、使用concat方法在数据实数是不是python的数据类型?
实数是不是python的数据类型?,数字,标准,培训,实数,数据类型,数轴,复数,有限小数,无理数,虚数,实数是python的数据类型。实数,是有理数和无理python怎么筛选列表中大于0的数据?
python怎么筛选列表中大于0的数据?,数据,培训,函数,结果,以上,方法,更多,内容,列表,python筛选列表中大于0的数据的方法:1、使用匿名函数lamb如何用python将数据导出
如何用python将数据导出,数据,情况,分析,代码,培训,文件,表格,难事,后面,以上,Python的一大应用就是数据分析了,而数据分析中,经常碰到需要处理python 如何读入excel数据
python 如何读入excel数据,数据,培训,表格,文件,内容,以上,参数,更多,python处理Excel数据需要用到2个库:xlwt和xlrd。xlwt库负责将数据导入pythonmongodb数据库适合做什么
pythonmongodb数据库适合做什么,数据,业务,项目,不了,培训,一致,综合,系统,信息,生产,python的mongodb众所周知不支持事务,所以需要强事务的业python爬虫和数据分析有哪些第三方
python爬虫和数据分析有哪些第三方库?,培训,爬虫,和数,以上,更多,内容,以上内容为大家介绍了爬虫和数据分析有哪些第三方库,希望对大家有所python数据分析相关的技术
python数据分析相关的技术,分析,数据,培训,技术,python爬虫和数据分析有哪些第三方
python爬虫和数据分析有哪些第三方库?,培训,爬虫,和数,python如何连接mysql数据库
python如何连接mysql数据库,培训,数据,项目,一致,流程,数据库,参数,结果,接口,语句,python数据库接口支持非常多的数据库,你可以选择适合你项