Plain Old CLR Object is a play on the term plain old Java object from the Java EE programming world, which was coined by Martin Fowler in 2000.2 POCO is often expanded to plain old C# object, though POCOs can be created with any language targeting the CLR. An alternative acronym sometimes used is plain old .NET object.3
Some benefits of POCOs are:
See, for example, this docs.microsoft.com article: POCO Support in WCF https://docs.microsoft.com/dotnet/framework/wcf/samples/poco-support ↩
See anecdote here: http://www.martinfowler.com/bliki/POJO.html http://www.martinfowler.com/bliki/POJO.html ↩
See, for example, a reference to PONO in this whitepaper: Spring.net Reference Documentation Archived 2011-07-24 at the Wayback Machine http://www.springframework.net/doc-latest/reference/pdf/spring-net-reference.pdf ↩