Является ли пустой интерфейс для обработки всех DTO универсальным антишаблоном?C#

Место общения программистов C#
Ответить
Anonymous
 Является ли пустой интерфейс для обработки всех DTO универсальным антишаблоном?

Сообщение Anonymous »

Я работаю над микросервисом предоставления данных. Пользователь может загрузить тысячи файлов на конечную точку. А конечная точка преобразует эти файлы в DTO и отправляет их в API.
Существует около 100 различных DTO, и я реализовал общий шаблон фабрики, который возвращает

Код: Выделить всё

public interface IDto
{}
Но в какой-то момент IDto необходимо преобразовать в его реальный объект (Dto1), а затем отправить в связанную конечную точку -> post endpointForDto1(Dto1).

Код: Выделить всё

List abstractDtos = factory.generateIDtoFromUploadedFiles();
foreach(var aDto in abstractDtos)
switch (aDto)
{
case (Dto1 d1):
Helper.endpointForDto1(d1);
break;

case (Dto2 d2):
Helper.endpointForDto2(d2);
break;
...

}
Можно ли пойти по этому пути? Или это антишаблон?
Единственный вариант, который я вижу иначе, - это жестко запрограммировать каждое отношение конечной точки DTO. Но это был бы слишком шаблонный шаблон, и он совершенно не является универсальным.
С другой стороны, для чего нужен пустой интерфейс?
Итак, мой вопрос: как лучше всего решить эту проблему?
/>Любые подсказки приветствуются. Спасибо
Я нашел это: Software Engineering SE - интерфейсы-против-конкретных-типов-в-dtos-and-response-classes

Подробнее здесь: https://stackoverflow.com/questions/792 ... ti-pattern
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»