Pergunta
Alguém pode definir o que exatamente significa 'POCO'? Eu estou encontrando o termo mais e mais vezes, e eu estou querendo saber se é apenas sobre classes simples ou isso significa algo mais?
Solução
"Plain Old C # objeto"
Apenas uma classe normal, sem atributos descrevendo preocupações de infra-estrutura ou outras responsabilidades que seus objetos de domínio não deve ter.
EDIT -. Como outras respostas afirmaram, é tecnicamente "Plain Old CLR objeto" mas eu, como comentários David Arno, preferem "Plain Old classe de objeto" aos laços evitar linguagens ou tecnologias específicas
Para esclarecer: Em outras palavras, eles não derivam alguma classe base especial, nem nenhum tipos especiais para suas propriedades.
Outras dicas
A maioria das pessoas já disseram isso - Plain Old CLR Object (em oposição ao POJO anteriormente - Plain Old Java Object)
A única POJO saiu do EJB, o que exigiu que você herdar de uma classe pai específico para coisas como objetos de valor (o que você recebe de volta a partir de uma consulta em um ORM ou similar), então se você sempre quis passar de EJB (por exemplo, a primavera), você recheado.
O POJO são apenas classes que força não faça herança ou qualquer marcação atributo para torná-los "trabalho" em qualquer quadro que você está usando.
O POCO são os mesmos, exceto em .NET.
Geralmente, ele vai ser usado em torno ORM - mais velhos (e alguns mais atuais) exigem que você herdar de uma classe base específica, que os laços que para esse produto. os mais novos não (nhibernate sendo a variante eu sei) - basta fazer uma classe, registrá-lo com o ORM, e você está fora. Muito mais fácil.
Eu posso estar errado sobre isso .. mas de qualquer maneira, eu acho que POCO é Plain Old Class CLR Objeto e vem de POJO velho liso objeto Java. A POCO é uma classe que contém dados e não tem comportamentos.
Aqui está um exemplo escrito em 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}";
}
}
POCO significa "Plain Old CLR Objeto".
Para adicionar as outras respostas, os termos POxx todos parecem resultar de POTS ( Plain serviços telefónicos antigos ).
O POX, usado para definir simples (velho liso) XML, em vez do material multi-camadas complexo associado com REST, sabonetes etc, foi um útil, e vagamente divertido, prazo. PO (inserir língua de escolha) termos o têm bastante desgastado a piada fina.
Em .NET um POCO é um 'Plain objeto CLR velho'. Não é um 'Plain velho C # objeto' ...
terreno em Java normalmente "po" significa "bom e velho". O resto pode ser complicado, então eu estou supondo que o seu exemplo (no contexto de Java) é "simples objeto de classe de idade".
alguns outros exemplos
- POJO (plain objeto java idade)
- POJI (simples interface Java de idade)
Interessante. A única coisa que eu sabia que tinha a ver com a programação e tinha POCO nele é o POCO C ++ quadro .
termos Em WPF MVVM, uma classe POCO é aquele que não dispara PropertyChanged eventos
Enquanto eu tenho certeza que meios POCO Plain Old classe de objeto ou Plain Old C objeto a 99,9% das pessoas aqui, POCO é também animador Pro (Autodesk) construído em linguagem de script.