任何人都可以解释POJO或POCO的含义和用法

use*_*949 6 c# java

可能重复:
Plain Old Java Object(POJO)这个术语到底意味着什么?

我知道这些是Mark Fowler最近提出的概念.任何人都可以解释POJO或POCO的用途及其用途吗?

Rex*_*x M 13

它代表Plain Old [Java | CLR]对象,它几乎意味着它所说的 - 一个简单的对象,它不需要任何重要的"胆量"来使它工作.这个想法与非常依赖的对象相反,这些对象很难(或不能)自己实例化和操作 - 它们还需要其他服务,驱动程序,提供程序实例等.

这是ac#POCO的一个例子:

public class Customer
{
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是假设的非POCO的假设内脏:

public sealed class Customer
{
    //can only be created by a db service layer
    internal Customer(IDbContext databaseContext)
    {
    }

    [EntityMapping("Name")]
    public string Name
    {
        get
        {
            return context.HydrateValue(this, "Name");
        }
        set
        {
            InternalNotifyRevision("Name", value);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


Osc*_*Ryz 13

P lain O ld(J ava,/ C LR)O bject

它只是一个非常基本的类结构1的奇特名称.

[...]我们想知道为什么人们如此反对在他们的系统中使用常规对象并得出结论,这是因为简单的对象缺乏一个奇特的名字.所以我们给了他们一个[...]

  • 它是CLR,而不是CRL. (4认同)
  • 固定............. (2认同)