我正在寻找一种标准方式来与另一个程序员沟通,一个类本质上只是一个数据容器。
以这个简单的User
类为例:
class User
{
public string userName { get; set; }
public string passPhrase { get; set; }
public Role role { get; set; }
}
“该组件使用User类,它只是一个(在此处插入)类。”
我想说“数据模型”,但我认为这太宽泛了。描述为数据模型的类通常具有逻辑。
答案 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