Перейти к содержанию

Plain old CLR object

Материал из Мегавики — свободной энциклопедии

В программной инженерии, Plain Old CLR Object (POCO) - это простой объект, созданный в среде Common Language Runtime (CLR) в .NET Framework и свободный от наследования или атрибутов. Это понятие часто используется для противопоставления сложным или специализированным объектам, которые часто используются в различных библиотеках классов ORM.[1] По сути, POCO не имеет никаких зависимостей от внешних библиотек классов.

Происхождение[править]

Название Plain Old CLR Object обыгрывает другое название, Plain Old Java Object (POJO) из мира Java EE. Название POJO было придумано в 2000 году Мартином Фаулером.[2] POCO иногда расшифровывают как Plain Old C# Object, но это не совсем верно, поскольку POCO можно создавать на любом языке, поддерживающим CLR. Иногда используется альтернативная аббревиатура - Plain Old .NET Object.[3]

Преимущества[править]

Некоторые преимущества POCO:

  • простота хранения, сериализации и передачи данных через слои;
  • неразрывно связан с внедрением зависимостей и паттерном хранилище;
  • минимальные сложность и зависимость от других уровней (высокие уровни заботятся только о POCO, а POCO ни о чем не заботятся). Это обеспечивает слабую связь;
  • за счет упрощения упрощается тестируемость.

См. также[править]

Ссылки[править]

  1. Смотрите, например, эту статью MSDN: Data Contracts - POCO Support Архивная копия от 17 февраля 2017 на Wayback Machine
  2. Смотрите забавную предысторию здесь: http://www.martinfowler.com/bliki/POJO.html Архивная копия от 26 января 2021 на Wayback Machine
  3. Смотрите, например, ссылку на POCO в этом официальной документации: Spring.net Reference Documentation Архивная копия от 27 января 2019 на Wayback Machine