Member 14374813 Ответов: 1

Хочу, чтобы разница между поко и ДТО в C#


Любой желающий может объяснить разницу между
Объекты POCO и DTO в c# с примером
а также пройдите по ссылке ниже
в приведенной ниже ссылке есть четыре типа для передачи данных с одного слоя на другой слой
я не могу под ссылками объяснения

Четыре способа передачи данных между слоями[^]

Что я уже пробовал:

пожалуйста, помогите мне выбраться из этой путаницы

1 Ответов

Рейтинг:
0

lmoelleb

DTO описывает, для чего используется объект. POCO описывает, как это реализовано.

Многие (старые) фреймворки требуют, чтобы ваши объекты имели определенный базовый класс или реализовывали определенный интерфейс для работы.

Поэтому, если вы хотите использовать фреймворк X для хранения данных в своей базе данных, то ваш класс должен быть производным от XBase или реализовывать XInterface. Все нормально до тех пор, пока вы не захотите поддерживать несколько систем хранения данных, вам понадобится другой базовый класс для другого фреймворка в другом слое....

Когда использование конкретных базовых классов или интерфейсов фреймворка не требуется, мы часто говорим, что фреймворк работает с Пзаложенный Олд С# Ообъектам.

А ДТО является ДатаТтрансферОbject. In - это просто класс, который не содержит бизнес-логики-только данные (обычно в виде общедоступных свойств). Он обычно используется между слоями.

Большинство DTOs сегодня реализованы как POCO - и я рекомендую вам придерживаться этого также - но это, конечно, не является обязательным требованием для того, чтобы он был DTO. Если объект используется только для передачи данных, то он является объектом передачи данных независимо от того, как он реализован.


Member 14374813

Действительно хорошо с вашим объяснением и я удовлетворен вашим ответом
но в своем вопросе я упомянул об одной ссылке в этой ссылке
упомяните 4 типа, такие как неоднородный, однородный, сущность,гибрид
не могли бы вы объяснить это, пожалуйста

lmoelleb

Из того, что я вижу с беглого взгляда (я не собираюсь читать все это подробно), неоднородность просто означает, что у вас есть 3 или более слоев и вы не используете один и тот же подход для общения между ними, в то время как в униформе он использует один и тот же подход между всеми слоями. С моей точки зрения, я не согласен с его определением сущности и DTO, поэтому я не буду комментировать это.