有人能定义一下“POCO”的确切含义吗?我越来越频繁地遇到这个术语,我想知道它只是关于普通类还是意味着更多的东西?
当前回答
这件事我可能错了。但无论如何,我认为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}";
}
}
其他回答
虽然我确信对这里99.9%的人来说,POCO意味着普通的旧类对象或普通的旧C对象,但POCO也是Animator Pro (Autodesk)内置的脚本语言。
大多数人都说过它- Plain Old CLR对象(相对于早期的POJO - Plain Old Java对象)
POJO来自EJB,它要求您从特定的父类继承诸如值对象(从ORM或类似的查询中返回的内容)之类的内容,因此如果您想从EJB迁移(例如到Spring),就会被填充。
POJO只是一些类,它们不强制继承或任何属性标记来让它们在你使用的任何框架中“工作”。
POCO是相同的,除了在。net中。
一般来说,它将用于ORM -旧的(和一些当前的)要求您从特定的基类继承,这将您与该产品联系在一起。更新的没有(nhibernate是我知道的变种)-你只是创建一个类,注册到ORM,然后你就离开了。容易得多。
POCO是一个普通的旧式CLR对象,它根据问题域表示应用程序的状态和行为。 它是一个纯类,没有继承,没有任何属性。 例子:
public class Customer
{
public int Id { get; set; }
public string Name { get; set; }
}
这件事我可能错了。但无论如何,我认为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}";
}
}
在。net中,POCO是一个“普通的旧式CLR对象”。它不是一个“普通的旧c#对象”……