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 ни о чем не заботятся). Это обеспечивает слабую связь;
- за счет упрощения упрощается тестируемость.
См. также[править]
Ссылки[править]
- ↑ Смотрите, например, эту статью MSDN: Data Contracts - POCO Support Архивная копия от 17 февраля 2017 на Wayback Machine
- ↑ Смотрите забавную предысторию здесь: http://www.martinfowler.com/bliki/POJO.html Архивная копия от 26 января 2021 на Wayback Machine
- ↑ Смотрите, например, ссылку на POCO в этом официальной документации: Spring.net Reference Documentation Архивная копия от 27 января 2019 на Wayback Machine