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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top