Рейтинг:
0
lmoelleb
DTO описывает, для чего используется объект. POCO описывает, как это реализовано.
Многие (старые) фреймворки требуют, чтобы ваши объекты имели определенный базовый класс или реализовывали определенный интерфейс для работы.
Поэтому, если вы хотите использовать фреймворк X для хранения данных в своей базе данных, то ваш класс должен быть производным от XBase или реализовывать XInterface. Все нормально до тех пор, пока вы не захотите поддерживать несколько систем хранения данных, вам понадобится другой базовый класс для другого фреймворка в другом слое....
Когда использование конкретных базовых классов или интерфейсов фреймворка не требуется, мы часто говорим, что фреймворк работает с Пзаложенный Олд С# Ообъектам.
А ДТО является ДатаТтрансферОbject. In - это просто класс, который не содержит бизнес-логики-только данные (обычно в виде общедоступных свойств). Он обычно используется между слоями.
Большинство DTOs сегодня реализованы как POCO - и я рекомендую вам придерживаться этого также - но это, конечно, не является обязательным требованием для того, чтобы он был DTO. Если объект используется только для передачи данных, то он является объектом передачи данных независимо от того, как он реализован.
Member 14374813
Действительно хорошо с вашим объяснением и я удовлетворен вашим ответом
но в своем вопросе я упомянул об одной ссылке в этой ссылке
упомяните 4 типа, такие как неоднородный, однородный, сущность,гибрид
не могли бы вы объяснить это, пожалуйста
lmoelleb
Из того, что я вижу с беглого взгляда (я не собираюсь читать все это подробно), неоднородность просто означает, что у вас есть 3 или более слоев и вы не используете один и тот же подход для общения между ними, в то время как в униформе он использует один и тот же подход между всеми слоями. С моей точки зрения, я не согласен с его определением сущности и DTO, поэтому я не буду комментировать это.