Domanda

Qualcuno può definire cosa significa esattamente "POCO"? Sto incontrando il termine sempre più spesso e mi chiedo se si tratti solo di classi semplici o significhi qualcosa di più?

È stato utile?

Soluzione

" Plain Old C # Object "

Solo una classe normale, nessun attributo che descriva le preoccupazioni dell'infrastruttura o altre responsabilità che gli oggetti del tuo dominio non dovrebbero avere.

MODIFICA - come hanno affermato altre risposte, è tecnicamente "semplice oggetto CLR semplice" ma io, come commenta David Arno, preferisco "Plain Old Class Object" per evitare legami con linguaggi o tecnologie specifici.

PER CHIARICARE: In altre parole, non derivano qualche classe base speciale, né restituiscono alcun tipo speciale per le loro proprietà.

Altri suggerimenti

La maggior parte delle persone l'ha detto - Plain Old CLR Object (al contrario del precedente POJO - Plain Old Java Object)

Quello POJO è uscito da EJB, il che richiedeva che tu ereditassi da una classe genitore specifica per cose come oggetti valore (cosa ottieni da una query in un ORM o simile), quindi se mai volevi spostarti da EJB (es. a Spring), eri pieno.

I POJO sono solo classi che non impongono l'ereditarietà o qualsiasi markup degli attributi per farli "funzionare". in qualunque framework tu stia utilizzando.

I POCO sono gli stessi, tranne in .NET.

Generalmente verrà usato attorno agli ORM - quelli più vecchi (e alcuni attuali) richiedono che tu erediti da una specifica classe base, che ti lega a quel prodotto. Quelli più nuovi non lo fanno (non è la variante che conosco): fai semplicemente una lezione, la registri con l'ORM e sei fuori. Molto più facile.

Potrei sbagliarmi su questo ... ma comunque, penso che POCO sia un oggetto CLR semplice Class e provenga da un semplice oggetto Java POJO. Un POCO è una classe che contiene dati e non ha comportamenti.

Ecco un esempio scritto in 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 <*>quot;{Name.ToUpper()} ({Weight}oz): {Quantity}";
    }
}

POCO significa " Plain Old CLR Object " ;.

Per aggiungere le altre risposte, i termini POxx sembrano tutti derivare da POTS ( Vecchi servizi telefonici semplici ).

Il POX, usato per definire un semplice (semplicemente vecchio) XML, piuttosto che le complesse cose a più livelli associate a REST, SOAP ecc., era un termine utile e vagamente divertente. PO (inserire la lingua scelta) O i termini hanno piuttosto logorato la battuta.

In .NET un POCO è un 'semplice oggetto CLR vecchio'. Non è un "semplice oggetto C # vecchio" ...

Nella terra di Java in genere "PO" significa "semplicemente vecchio". Il resto può essere complicato, quindi immagino che il tuo esempio (nel contesto di Java) sia "semplice oggetto di vecchia classe".

alcuni altri esempi

  • POJO (semplice vecchio oggetto Java)
  • POJI (semplice vecchia interfaccia java)

Interessante. L'unica cosa che sapevo che aveva a che fare con la programmazione e che conteneva POCO era il POCO C ++ framework .

In termini WPF MVVM, una classe POCO è una classe che non attiva eventi PropertyChanged

Sebbene sia sicuro che POCO significhi un oggetto di vecchia classe normale o un oggetto di vecchia generazione C per il 99,9% delle persone qui, POCO è anche il linguaggio di scripting incorporato di Animator Pro (Autodesk).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top