https://de.wikipedia.org/w/api.php?action=feedcontributions&feedformat=atom&user=83.244.205.129 Wikipedia - Benutzerbeiträge [de] 2025-05-01T14:58:50Z Benutzerbeiträge MediaWiki 1.44.0-wmf.25 https://de.wikipedia.org/w/index.php?title=Plain_old_CLR_object&diff=209936506 Plain old CLR object 2015-04-30T09:29:01Z <p>83.244.205.129: Removed broken ref tag which encompassed a broken link</p> <hr /> <div>{{Redirect|POCO||Poco (disambiguation)}}<br /> '''Plain Old [[Common Language Runtime|CLR]] Object''' or '''POCO''' is a play on the term [[Plain Old Java Object|POJO]], from the [[Java Platform, Enterprise Edition|Java EE]] programming world (which was coined by Martin Fowler in 2000<br /> Similar to the Java context, the term is used to identify an object as a simple object, as opposed to the complicated, specialized objects that frameworks like [[object-relational mapping|ORM]] systems usually generate. Another way to put it is that POCOs are objects unencumbered with inheritance or attributes needed for specific frameworks &lt;ref&gt; See, for example, this MSDN article: [http://msdn.microsoft.com/en-us/library/cc681329.aspx Data Contracts - POCO Support]&lt;/ref&gt; and are persistence ignorant objects. In .NET terms, the word is most often used in the programmatic sense, to differentiate a non-serviced component (see [[Microsoft Transaction Server|MTS]]) from a &quot;standard object&quot;. It can also be used in a [[tongue-in-cheek]] manner, referencing the perceived complexity and invasiveness of Java-based programming frameworks such as the legacy [[Ejb#Legacy|EJB2]].<br /> <br /> POCO is often incorrectly expanded to '''Plain Old [[C Sharp (programming language)|C#]] Object''', but POCOs can be created with any language targeting the CLR. An alternative acronym sometimes used is '''PONO''',&lt;ref&gt;See, for example, a reference to PONO in this whitepaper: [http://www.springframework.net/doc-latest/reference/pdf/spring-net-reference.pdf Spring<br /> Some benefits of POCO objects are:<br /> * Allows a simple storage mechanism for data, and simplifies serialization/passing data through layers.<br /> * Goes hand-in-hand with dependency injection, and the repository pattern. <br /> * Minimized complexity and dependencies on other layers (higher layers only care about the POCOs, POCOs don't care about anything) which facilitates loose coupling.<br /> * Increases testability through simplification.<br /> <br /> ==See also==<br /> * []<br /> * [[Data Transfer Object]]<br /> * POTS for [[Plain old telephone service]]<br /> <br /> == References ==<br /> &lt;references/&gt;<br /> <br /> {{DEFAULTSORT:Plain Old Clr Object}}<br /> [[Category:.NET Framework]]<br /> <br /> {{Comput-lang-stub}}</div> 83.244.205.129