1

我需要在 Thrift IDL 中设计一个通用数据类型以下是我想出的。我需要一些专家来审查。

/**
 * wraper over various type declaration
 */
struct BoolType {
    1: required string name,
    2: required list<bool> val
}
struct ByteType {
    1: required string name,
    2: required list<byte> val
}
struct ShortType {
    1: required string name,
    2: required list<i16> val
}
struct IntType {
    1: required string name,
    2: required list<i32> val
}
struct LongType {
    1: required string name,
    2: required list<i64> val
}
struct DoubleType {
    1: required string name,
    2: required list<double> val
}
struct StringType {
    1: required string name,
    2: required list<string> val
}
struct BinaryType {
    1: required string name,
    2: required list<binary> val
}

union BasicType {
    1: BoolType        vBool,
    2: ByteType        vByte,
    3: IntType        vInt,
    4: LongType        vLong,
    5: DoubleType    vDouble,
    6: StringType    vString,
    7: BinaryType   vBinary
}

struct CompoundType {
    1: BoolType     vBool,
    2: ByteType        vByte,
    3: IntType        vInt,
    4: LongType        vLong,
    5: DoubleType    vDouble,
    6: StringType    vString,
    7: BinaryType   vBinary
}

union TObject {
    1: BasicType    vBasicType,
    2: CompoundType vCompoundType
}

TObject是我想在我的服务 API 中使用的东西

4

1 回答 1

-1

这里的答案与邮件列表中的答案相同:

  1. 提供的信息不足以进行有意义的审查
  2. 通用数据结构是不良 API 设计的良好指标。
于 2013-04-13T22:27:05.157 回答