对于只包含数据,没有逻辑的类,是否有标准术语?

时间:2009-09-17 22:07:29

标签: class terminology

我正在寻找一种标准方式来与另一个程序员沟通,一个类本质上只是一个数据容器。

以这个简单的User类为例:

class User
{
    public string userName { get; set; }
    public string passPhrase { get; set; }
    public Role role { get; set; }
}

“该组件使用User类,它只是一个(在此处插入)类。”

我想说“数据模型”,但我认为这太宽泛了。描述为数据模型的类通常具有逻辑。

11 个答案:

答案 0 :(得分:9)

有时这些被称为DTO - 数据传输对象。

答案 1 :(得分:6)

POD - 普通旧数据

答案 2 :(得分:3)

怎么样:struct

答案 3 :(得分:2)

“值对象”在这种情况下比“数据传输对象”更精确。值对象只包含值;数据传输对象还应该实现一种方法,用于将数据传输到自身或从其他实体传输。 “Bean”也是一个被接受的术语,特别是在Java圈子里。

答案 4 :(得分:1)

POXO - Plain Old X Object,其中X是您选择的语言。你的情况,似乎是C#,所以这是一个POCO:Plain Old C#Object。

答案 5 :(得分:1)

在Java中,每个属性只包含属性和getter / setter的类称为bean或POJO(Plain Old Java Object)

答案 6 :(得分:1)

数据传输对象通常称为DTO。

答案 7 :(得分:1)

数据传输对象可能是正确的,具体取决于意图。它本质上是一个容器,但“容器”被重载,通常是指集合类型。

值对象可以有行为,但是如果你有两个独立创建的值对象具有相同的字段值,并且它们可以被视为等效(例如记录的标识无关紧要),你可以说你是什么有一个价值对象。但通常,值对象在不可变时最好。

当设计中存在大量数据传输对象时,设计有时会被贬称为贫困域模型。

答案 8 :(得分:1)

这不是标准的,但我经常将“Info”后缀附加到类名,以表明该类只是用于存储和传输信息。因此,我会将您的User课程更改为UserInfo

UserData也会起作用,就像“不要在这个该死的东西上添加任何方法”顶部的评论一样。

答案 9 :(得分:0)

来自A Gentle Introduction to Haskell

“像这样的类型通常被称为元组类型,因为它基本上只是其他类型的笛卡尔积。”

答案 10 :(得分:0)

数据对象,数据传输对象,DTO