有人能确切地定义什么“POCO”的意思? 我遇到的术语越来越多的时候,我想知道,如果它是大约只有普通类或它意味着更多的东西?
Answer 1:
“普通老式C#对象”
只是一个普通的类,说明基础设施问题,或者你的域对象不应该有其他责任没有属性。
编辑 - 其他答案已经指出,它在技术上是“普通老式CLR对象”,但我,像大卫阿诺的意见,更喜欢“普通老式类对象”,以避免联系的特定语言或技术。
澄清:换句话说,他们不从一些特殊的基类派生,也不会返回任何特殊类型及其属性。
Answer 2:
大多数人都说它 - 普通老式CLR对象(而不是先前的POJO - 普通Java对象)
该POJO人出来EJB的,这需要你从像值对象的东西(什么你从一个ORM或类似的查询回),所以具体的父类继承,如果你曾经想从EJB移动(例如以春季),你会被塞进。
POJO的只是它不强制继承或任何属性标记,以使它们在任何框架您正在使用“工作”类。
POCO的是一样的,除了在.NET。
通常它会围绕ORM的使用 - 旧的(和一些当前的)要求你从一个特定的基类,将您与该产品继承。 较新的不(NHibernate的是我所知道的变体) - 你只是做一个类,与ORM注册,和你是关闭。 要容易得多。
Answer 3:
我可能是错的这个..但不管怎么说,我觉得POCO是普通老式类 CLR对象和它来自POJO简单Java对象。 一个POCO是保存数据,也没有行为的类。
下面是用C#编写的例子:
class Fruit
{
public Fruit() { }
public Fruit(string name, double weight, int quantity)
{
Name = name;
Weight = weight;
Quantity = quantity;
}
public string Name { get; set; }
public double Weight { get; set; }
public int Quantity { get; set; }
public override string ToString()
{
return $"{Name.ToUpper()} ({Weight}oz): {Quantity}";
}
}
Answer 4:
POCO代表“普通老式CLR对象”。
Answer 5:
要添加其他的答案中,POxx方面都出现从POTS(干普通老式电话服务 )。
所述POX,用于定义简单(普通老式)XML,而不是与REST,SOAP等等相关的复杂的多层材料,是有用的,并且隐约有趣,术语。 PO(选择插入语言)O方面已经相当破旧的笑话薄。
Answer 6:
在.NET中的POCO是一个“普通老式CLR对象”。 这不是一个“普通的老C#对象” ......
Answer 7:
在Java土地通常是“PO”是指“纯老”。 其余的可能会非常棘手,所以我猜,你的例子(在Java中的上下文中)是“普通老式类对象”。
其他一些例子
- POJO(简单Java对象)
- POJI(简单Java接口)
Answer 8:
有趣。 我所知道的唯一的事情,曾与编程做,不得不在POCO它是POCO C ++框架 。
Answer 9:
在WPF MVVM而言,一类POCO是一个不火的PropertyChanged事件
Answer 10:
虽然我敢肯定,POCO是指普通老式类对象或普通老式C对象到这里的人99.9%,POCO也动画专业的(欧特克)内置的脚本语言。