куда будет идти код генерации отчета.
-
08-07-2019 - |
Вопрос
У меня есть решение визуальной студии со следующими проектами:
- пользовательский интерфейс
- Доступ к данным
- ДеловаяЛогика
- БизнесОбъекты
Теперь у меня есть куча кода, который генерирует отчеты, которые отправляются по электронной почте или сохраняются в виде файлов CSV.
Эти классы ReportGenerators принимают бизнес-объекты и выводят либо файлы, либо строки.
в какой проект вы бы их включили?Я склоняюсь к ответу, но хотел узнать, что думают другие?
Решение
Я бы создал отдельный отчетный проект. Он не принадлежит пользовательскому интерфейсу (я полагаю, они работают в фоновом режиме) - это фактически слой «логики отчетности». Р>
Если вы думаете о том, как вы хотите поддерживать отчетность, вы можете захотеть использовать бэкэнд-сервис, но в будущем вы также можете предоставить данные через веб-сервис. Если вам нужно предоставить пользователям интерфейсные средства отчетности, вы подключаетесь к логике отчетности, как если бы вы использовали обычный пользовательский интерфейс - > Логика - > Архитектура доступа к данным. Р>
Кроме того, если вы отделите свой код отчетности, вы сможете в будущем извлечь его для выделенного уровня отчетности.
Другие советы
Согласен с сообщением Манвуда - вам следует создавать их как отчеты (при необходимости помещать в отчеты sproc) по следующим причинам:
Вы можете запустить отчеты и отобразить их через элемент управления отчетом.Это довольно просто сделать.
Вы (и что более важно, другие люди, поддерживающие приложение), можете расширить приложение с помощью большего количества отчетов, не выпустив еще одну сборку приложения.Это весьма полезная функция, если вы не хотите быть привязаны к поддержке приложения.
Вы также можете опубликовать отчеты через службы отчетности.
Вы получаете все варианты экспорта данных о отчетных услугах (Excel, CSV, PDF и т. Д.) С структурой служб отчетности.