我有一个包含以下项目的视觉工作室解决方案:

  1. 用户界面
  2. 数据存取
  3. 业务逻辑
  4. 业务对象

我现在有一堆代码可以生成通过电子邮件发送或保存为 csv 文件的报告。

这些 ReportGenerators 类接收业务对象并输出文件或字符串。

你会把它们放在哪个项目中?我倾向于一个答案,但想看看其他人的想法?

有帮助吗?

解决方案

我会创建一个单独的报告项目。它不属于 UI(我假设它们在后台运行)——它实际上是一个“报告逻辑”层。

如果您考虑如何支持报告,您可能需要后端服务,但将来也可能希望通过 Web 服务公开数据。如果您需要为用户提供前端报告工具,您可以像正常的 UI -> 逻辑 -> 数据访问架构一样插入报告逻辑。

此外,如果您将报告代码分离出来,那么您将来可以将其提取到专用报告层。

其他提示

同意曼伍德的帖子 - 您应该将它们构建为报告(如有必要,在报告后面放置一个存储过程),原因如下:

  • 您可以运行报告并显示 它们通过 ReportViewer 控制。这是公平的 简单明了。

  • 你(更重要的是其他人 支持应用程序)可以 扩展应用程序 报告,无需发布 应用程序的另一个版本。如果您不想受制于支持应用程序,那么这是一个非常有用的功能。

  • 您可以通过以下方式发布报告 报告服务也是如此。

  • 您可以获得所有数据导出选项 报告服务(Excel、csv、 PDF等)与报告 服务框架。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top