Показаны сообщения с ярлыком Архитектура приложений. Показать все сообщения
Показаны сообщения с ярлыком Архитектура приложений. Показать все сообщения

30.11.2018

DTO vs POCO vs Value Object

Иногда возникает путаница, когда разработчики применяют терминологию DTO vs POCO vs Value Object. Я нашел хорошую статью, из которой привожу краткую выжимку.

DTO (Data Transfer Object) — это класс, содержащий данные без какой-либо логики для работы с ними. DTO обычно используются для передачи данных между различными приложениями, либо между слоями внутри одного приложения.

Value Object — это полноценный член вашей доменной модели, может содержать логику, обычно они не используются для передачи информации между приложениями.

POCO (Plain Old CLR Object) означает использование настолько простых классов насколько возможно для моделирования предметной области. POCO классы могут содержать логику.

При этом можно привести следующую зависимость между терминами.
DTO != Value Object
DTO ⊂ POCO
Value Object ⊂ POCO

30.10.2018

Паттерны проектирования

Недавно вдохновившись циклом статей "Основы паттернов проектирования", сделал проект на Github, содержащий в себе шпаргалку для наиболее часто использующихся паттернов на языке C# (доступно по ссылке). Теперь, если понадобится использовать какой-нибудь паттерн, можно будет быстро прочитать его описание, критерии и примеры оптимального использования и взять заготовку. Надеюсь, что будет полезно не только мне, но и другим.

PS. UML-схемы паттернов в качестве небольшой бонус с telegram-канала "Библиотека программиста"