Plain Old CLR Object

Plain Old CLR Object (POCO) – odpowiednik występującego na platformie Java EE terminu POJO używany przez programistów tworzących kod na środowisko Common Language Runtime platformy .NET Framework.

Podobnie jak w Javie, termin ten oznacza prosty obiekt nieobciążony dziedziczeniem, nieposiadający atrybutów wymaganych do współpracy ze specyficznymi frameworkami, takimi jak mappery ORM[1].

W środowisku programistów .NET termin POCO najczęściej używany jest w celu odróżnienia zwykłego obiektu, służącego zazwyczaj tylko do reprezentacji danych, od specjalistycznych, złożonych obiektów związanych z zewnętrznymi komponentami. Czasami określenia POCO używa się żartobliwie w odniesieniu do zauważalnej złożoności frameworków opartych na Javie, takich jak EJB.

Skrót POCO jest często nieprawidłowo rozwijany jako Plain Old C# Object, jednakże obiekty POCO można tworzyć w dowolnym języku opartym na CLR. Czasami używa się także terminu PONO[2], rozwijanego jako Plain Old .NET Object.

Zastosowanie edytuj

Obiekty POCO są często definiowane przez programistę, kiedy celem jest stworzenie systemu skalowalnego i łatwego do modyfikacji, gdzie istotne jest wyraźne ograniczenie obszarów styku jego własnego kodu z kodem zewnętrznych frameworków. Pociąga to za sobą zasadę minimalizacji wpływu frameworków wymagających użycia specjalnych atrybutów lub dziedziczenia na własny kod. W tym celu zamiast obiektów zdefiniowanych we frameworku, którego wpływ programista stara się ograniczyć, używa on własnych obiektów POCO.

Przypisy edytuj

  1. Artykuł z MSDN: Data Contracts – POCO Support
  2. Odniesienie do PONO w dokumencie: Spring.net Reference Documentation