Plain old CLR object
# Plain old CLR object

Ein Plain Old CLR Object (wörtlich: einfaches altes CLR Objekt) oder ein Plain Old Class Object (zu wörtlich: einfaches altes Klassen-Objekt) – kurz: POCO – ist in der Programmierung ein einfaches Objekt, das in der .NET-Common Language Runtime (CLR) erstellt wurde und nicht durch Vererbung oder Attribute belastet ist. Dies wird häufig im Gegensatz zu den komplexen oder spezialisierten Objekten verwendet, die objektrelationale Abbildungs-Frameworks häufig benötigen. Im Wesentlichen ist ein POCO nicht von einem externen Framework abhängig.

## Etymologie

Plain Old CLR Object ist ein Kunstbegriff, welcher von plain old Java object aus der Jakarta-EE-Programmierwelt abgeleitet und durch Martin Fowler im Jahr 2000 geprägt wurde. POCO wird häufig in Verbindung mit C#-Objekten verwendet, obwohl POCO-Klassen/-Objekte auch mit anderen Programmiersprachen erstellt werden können. Ein anderes alternatives Akronym dafür ist Plain Old .NET Object.

## Vorteile

Einige Vorteile von POCOs sind:

* ermöglicht einen einfachen Speichermechanismus für Daten und vereinfacht die Serialisierung und das Weiterleiten von Daten durch Schichten
* geht Hand in Hand mit Dependency Injection und die Repository Entwurfsmuster (OOP)
* Minimierte Komplexität und Abhängigkeiten von anderen Schichten (höhere Schichten kümmern sich nur um die POCOs, POCOs kümmern sich um Nichts), was eine lose Kopplung erleichtert
* erhöht die Testbarkeit durch Vereinfachung
