Définition ‘POCO’

Quelqu’un peut-il définir exactement ce que signifie «POCO»? Je rencontre le terme de plus en plus souvent et je me demande s’il ne s’agit que de cours simples ou si cela signifie quelque chose de plus?

“Plain Old C # Object”

Juste une classe normale, pas d’atsortingbuts décrivant des problèmes d’infrastructure ou d’autres responsabilités que vos objects de domaine ne devraient pas avoir.

EDIT – comme d’autres réponses l’ont dit, c’est techniquement «Plain Old CLR Object» mais, comme David Arno, je préfère «Plain Old Class Object» pour éviter les liens avec des langages ou des technologies spécifiques.

POUR CLARIFIER: En d’autres termes, ils ne dérivent pas d’une classe de base spéciale et ne retournent aucun type spécial pour leurs propriétés.

La plupart des gens l’ont dit – Plain Old CLR Object (par opposition à l’ancien POJO – Plain Old Java Object)

Le POJO a été créé à partir d’EJB, ce qui vous obligeait à hériter d’une classe parent spécifique pour des objects tels que des objects de valeur (ce que vous obtenez d’une requête dans un ORM ou similaire). Printemps), vous avez été bourré.

Les POJO ne sont que des classes qui ne forcent pas l’inheritance ou un balisage d’atsortingbut pour les faire “fonctionner” dans le cadre que vous utilisez.

Les POCO sont les mêmes, sauf dans .NET.

En général, il sera utilisé autour des ORM – les anciens (et certains actuels) vous obligent à hériter d’une classe de base spécifique, qui vous lie à ce produit. Les plus récents ne le font pas (nhibernate étant la variante que je connais) – vous faites juste un cours, vous l’enregistrez avec l’ORM et vous êtes éteint. Beaucoup plus facile.

POCO signifie “Plain Old CLR Object”.

Je peux me tromper à ce sujet .. mais de toute façon, je pense que POCO est un object CLR Plain Old Class et il vient de l’ancien object Java simple de POJO. Un POCO est une classe qui contient des données et n’a aucun comportement.

Voici un exemple écrit en C #:

  class Fruit { public Fruit() { } public Fruit(ssortingng name, double weight, int quantity) { Name = name; Weight = weight; Quantity = quantity; } public ssortingng Name { get; set; } public double Weight { get; set; } public int Quantity { get; set; } public override ssortingng ToSsortingng() { return Name.ToUpper() + " (" + Weight + "oz): " + Quantity; } } 

Pour append les autres réponses, les termes POxx semblent tous provenir de POTS ( Plain Old Phone Services ).

Le POX, utilisé pour définir un XML simple (simple), plutôt que les éléments complexes à plusieurs niveaux associés à REST, SOAP, etc., était un terme utile et vaguement amusant. PO (insérer la langue de choix) Les termes O ont plutôt usé la blague.

Dans .NET, un POCO est un “Objet CLR ancien”. Ce n’est pas un object “Plain C # old” …

En Java, le terme “PO” signifie généralement “plain old”. Le rest peut être délicat, alors je suppose que votre exemple (dans le contexte de Java) est “old class object”.

d’autres exemples

  • POJO (simple object java ancien)
  • POJI (ancienne interface Java simple)

Intéressant. La seule chose que je connaissais en ce qui concerne la programmation et la présence de POCO est le framework POCO C ++ .

Dans les termes de MVF MVVM, une classe POCO est celle qui ne déclenche pas les événements PropertyChanged

Bien que POCO soit synonyme d’object Plain Old Class ou Plain Old C Object à 99,9% des utilisateurs, POCO est également un langage de script intégré à Animator Pro (Autodesk).