报告生成代码会去哪里。
-
08-07-2019 - |
题
我有一个包含以下项目的视觉工作室解决方案:
- 用户界面
- 数据存取
- 业务逻辑
- 业务对象
我现在有一堆代码可以生成通过电子邮件发送或保存为 csv 文件的报告。
这些 ReportGenerators 类接收业务对象并输出文件或字符串。
你会把它们放在哪个项目中?我倾向于一个答案,但想看看其他人的想法?
解决方案
我会创建一个单独的报告项目。它不属于 UI(我假设它们在后台运行)——它实际上是一个“报告逻辑”层。
如果您考虑如何支持报告,您可能需要后端服务,但将来也可能希望通过 Web 服务公开数据。如果您需要为用户提供前端报告工具,您可以像正常的 UI -> 逻辑 -> 数据访问架构一样插入报告逻辑。
此外,如果您将报告代码分离出来,那么您将来可以将其提取到专用报告层。
其他提示
同意曼伍德的帖子 - 您应该将它们构建为报告(如有必要,在报告后面放置一个存储过程),原因如下:
您可以运行报告并显示 它们通过 ReportViewer 控制。这是公平的 简单明了。
你(更重要的是其他人 支持应用程序)可以 扩展应用程序 报告,无需发布 应用程序的另一个版本。如果您不想受制于支持应用程序,那么这是一个非常有用的功能。
您可以通过以下方式发布报告 报告服务也是如此。
您可以获得所有数据导出选项 报告服务(Excel、csv、 PDF等)与报告 服务框架。
不隶属于 StackOverflow