• HL7数据类型分析(1)


    最近一直在研读HL7 V3 Data Types Release 2 (2009版),与 Release 1(2004版)还是有些不同。不过最主要的感觉还是有点怪异,可能是没有完全理解其思路,尤其是在数据类建立模型上。主要包括:

    (1)COMP类

    按道理所有数据类型的基类是ANY,但惟独COMP也是一个独立抽象类,不是从ANY继承,且只有一个子类CEQ,二者之间只是compare方法被重载而已。我个人认为COMP类不应存在,它应该是一个方法类,而不是数据类,在ANY完全可以定义一个抽象方法compare(x,y),各个子类进行重载,不需要打破模型中的统一继承思路。并且在ANY类中已经有一个函数equal(x),没有必要再重复弄一个吧?

    (2)SET、COLL类

    在Release 1中,没有COLL类,LIST类直接从ANY类继承,Release 2中加入了COLL类,感觉应该是所有集合类的基类,其说明如下:

    A collection of values which can be enumerated using an iterator.

    一个可以被迭代程序列举的值的集合。

    其子类

    • BAG 无序且值可以重复的集合
    • LIST 有序且值可以重复的集合

    即COLL类是一个允许成员值重复的集合,但其说明中没有明确提到是允许重复值的。

    Release 2中SET类仍然直接从ANY继承,其说明如下:

    A value that contains distinct values in no particular order.

    一个容纳无序的且相互唯一的多个值的集合。

    即SET类是成员值不允许重复的集合,其子类

    • DSET,是与COLL类多重继承的类,是一个无序且相互唯一的值集合,从COLL继承的目的是继承Count 方法。
    • QSET,是一个无序的且相互唯一的多个数值的集合

    即COLL是允许有重复值的,SET是不允许有重复值且无序的。

    其实集合的重要区别不外2个:是否允许重复,是否有序。由此可以得到4种组合,也就是4个类就行了。

  • 相关阅读:
    EVM靶机渗透
    Joomla漏洞复现
    渗透测试
    Kali软件库认识
    谷歌hack语法
    Metasploit学习
    sqli-labs less-17
    sqli-labs(less-11-16)
    sqli-labs (less-8-less-10)
    less-7
  • 原文地址:https://www.cnblogs.com/ChinaEHR/p/2491571.html
Copyright © 2020-2023  润新知