2024-08-15 05:00:00

“少”的定义

有人能定义一下“POCO”的确切含义吗?我越来越频繁地遇到这个术语,我想知道它只是关于普通类还是意味着更多的东西?


当前回答

有趣。我所知道的唯一与编程有关并包含POCO的东西是POCO c++框架。

其他回答

这件事我可能错了。但无论如何,我认为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}";
    }
}

要添加其他答案,POxx术语似乎都起源于POTS(普通老式电话服务)。

POX用于定义简单的(普通的)XML,而不是与REST、SOAP等相关联的复杂的多层内容,这是一个有用且有点有趣的术语。PO(插入选择的语言)O术语已经让这个笑话变得很乏味了。

在。net中,POCO是一个“普通的旧式CLR对象”。它不是一个“普通的旧c#对象”……

在WPF MVVM术语中,POCO类是不触发PropertyChanged事件的类

大多数人都说过它- Plain Old CLR对象(相对于早期的POJO - Plain Old Java对象)

POJO来自EJB,它要求您从特定的父类继承诸如值对象(从ORM或类似的查询中返回的内容)之类的内容,因此如果您想从EJB迁移(例如到Spring),就会被填充。

POJO只是一些类,它们不强制继承或任何属性标记来让它们在你使用的任何框架中“工作”。

POCO是相同的,除了在。net中。

一般来说,它将用于ORM -旧的(和一些当前的)要求您从特定的基类继承,这将您与该产品联系在一起。更新的没有(nhibernate是我知道的变种)-你只是创建一个类,注册到ORM,然后你就离开了。容易得多。