代码之家  ›  专栏  ›  技术社区  ›  saku

“poco”定义

  •  214
  • saku  · 技术社区  · 16 年前

    有人能定义“poco”的确切含义吗?我越来越经常遇到这个词,我想知道它是仅仅关于普通类,还是意味着更多?

    10 回复  |  直到 6 年前
        1
  •  179
  •   Hashem Aboonajmi    11 年前

    “普通的旧C对象”

    只是一个普通的类,没有描述基础设施问题或域对象不应该具有的其他职责的属性。

    编辑——正如其他答案所说,它在技术上是“普通的旧clr对象”,但我,像大卫阿诺评论,更喜欢“普通的旧类对象”,以避免与特定的语言或技术联系。

    澄清:换句话说,它们不是从 一些特殊的基类,它们也不会为其属性返回任何特殊类型。

        2
  •  43
  •   Nic Wise    16 年前

    大多数人都说它是普通的老CLR对象(与早期POJO普通Java对象相反)

    pojo-one来自EJB,它要求您从特定的父类继承值对象(从ORM或类似的查询中获得的内容),因此,如果您想从EJB(如到Spring)中移动,您就被填满了。

    pojo只是一个类,它不强制继承或任何属性标记使它们在您使用的任何框架中“工作”。

    Poco是相同的,除了在.NET中。

    通常,它将用于ORM的旧版本(以及一些当前版本)要求您从特定的基类继承,而这个基类将您与该产品联系起来。新的不(我知道NHibernate是变种)-你只需要做一个类,在ORM中注册它,然后你就可以离开了。容易得多。

        3
  •  16
  •   Rufus L    6 年前

    我可能错了……但无论如何,我认为波科很老 等级 CLR对象,它来自波霍普通的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}";
        }
    }
    
        4
  •  9
  •   Robert Gamble    16 年前

    poco代表“普通的旧clr对象”。

        5
  •  6
  •   David Arno    16 年前

    加上其他的答案,poxx术语似乎都源于pots。( Plain old telephone services )

    POX用于定义简单(普通的)XML,而不是与REST、SOAP等相关的复杂的多层内容,是一个有用的、略显有趣的术语。po(插入选择的语言)o术语已经相当老套了。

        6
  •  6
  •   Hardgraf    10 年前

    在.NET中,poco是一个“普通的旧clr对象”。它不是一个“普通的老C对象”…

        7
  •  5
  •   Jonathan Leffler    16 年前

    在Java土地上,典型的“PO”意思是“普通的旧”。其余的可能是棘手的,所以我猜想您的例子(在Java上下文中)是“普通的老类对象”。

    其他一些例子

    • POJO(普通老Java对象)
    • POJI(普通Java接口)
        8
  •  3
  •   ayaz    16 年前

    有趣。我知道的唯一与编程有关的事情就是 POCO C++ framework .

        9
  •  2
  •   Naila Akbar    11 年前

    在wpf mvvm术语中,poco类是不激发propertyChanged事件的类。

        10
  •  1
  •   Mr Mystery Guest    8 年前

    虽然我确信Poco对99.9%的人来说意味着普通的旧类对象或普通的旧C对象,但Poco也是动画专家(Autodesk)内置的脚本语言。