数据类型与数据类的一些感想

本文探讨了料单软件中数据类的组织方式,提出将料单视为完整对象,并通过分层组织元器件数据,实现规范化器件与非标器件的有效管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    在长时间做电表集抄软件的时候,习惯于将数据层层封装,而且数据对象全部做成可以序列化的。只不过以前在存贮的时候,使用的还是关系型数据库的思想,写DAL时候做数据分解比较痛苦。曾有心将序列化后的数据对象直接存贮,可又无法进行快速查询了,所以此想法无解。

    现在接触到的TurboGears,zope等,都自己组织数据对象的存贮方式。其实他们也是使用的关系型数据库方式保存,不过发现在保存数据的时候还是与我以前做得不一样,貌视可以解决一些矛盾。但目前阶段我只能凭感觉来分析这些,暂时没有深入到细节中去。

    目前还有一个项目,就是料单与EAD软件的接口。现就这个接口软件来思考一下数据类的组织。比如,protel可以输出cvs文件,那么我可以将csv文件视为数据源,读入设计数据记录。然后再去查表,生成最终的料单数据。V1版本属试验版本,当时使用的是主从表结构生成结果,在实际使用的时候,会遇上扩展列数据的情况。这种时候还是想到对象数据了。

    将料单视为一个完整的对象,可以分解出子对象。首先是PCB上的元器件料单对象,这是从刚才提到的料单文件中分析而来的。另外还有一些配件,如结构件、标签贴、合格证等等。现在,我们重点考虑元器件对象,结构件等其他对象暂时不在这里讨论。
    元器件可以有几种分类方式。从焊接的角度看,有直插与贴片两大封装分类;从元器件类型上来看,有电阻、电容等;有精度属性的器件,从精度上看,有1%, 5%等等,还有的器件对精度无要求。同时,还有些器件是对耐压有要求的,也可以在本层次分别对待;从器件的封装代号来看,有 0402 / 0603等代号,甚至还有许多厂标封装代号。
    所以,我们可以考虑分两层来组织元器件的数据对象。No1.= 焊接类别;N0.2= 精度/耐压等; 然后就是一些固有属性,比如封装代号,值/规格等等。
    元器件表格为类容器,add到该表格中的器件,可以这样维护:有一个索引表,记录元器件的基本属性,含:器件焊接分类+元器件类+值/规格/型号,以及以上属性的md5码。对象列表的key为上述表格的md5码,值为该数据对象。这个对象根据不同器件,还会有不同的单类属性。派生于元器件类。
    讨论到此,已规范的元器件都可以组织在表格对象中了。但是,还有一些器件是无法规范的,比如一些临时非标用料。这些用料在元器件库中是无法维护的,而且在料单中只需要注明 [非标] ,并设置为红字显示。考虑下来,可以单独分一个类,这个类的原则是只要满足如下条件之一:器件前缀非标,器件封装非标,规格非标。该类不作后续的查询分析,也不可能专门为每一种器件设计查询分析类。但它的共性就是将数据原封不动地提供到料单的元器件表格的末尾,红色标记就可以了。可以定义为:非标件类。
    好了,数据基本上就可以组织完成了。可分类的按器件类型分好,如电阻电容分别有电阻查询类/电容查询类来处理查询,不可分类的就是上面提到的非标器件。在索引表中排好序,整理好,并将这些数据贴到WORD的表格中,就完成了料单软件的元器件数据生成工作。

    至于结构件等,可以再写一些数据库软件来维护,每种表型(含改型),建立一个结构件数据表。从上述数据表中取出数据,贴入料单文档的《其他器件》表格,整个料单软件就生成完成了。

    随心而写,某些点可能有点乱,明天再来细细理顺。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值