1

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

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

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

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

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

4

2 回答 2

2

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

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

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

于 2008-11-16T16:35:23.590 回答
0

同意 manwood 的帖子 - 您应该将它们构建为报告(如有必要,在报告后面放置一个 sproc),原因如下:

  • 您可以运行报表并通过 ReportViewer 控件显示它们。这很简单。

  • 您(更重要的是支持该应用程序的其他人)可以使用更多报告扩展该应用程序,而无需发布该应用程序的另一个版本。如果您不想被绑定到支持应用程序,这是一个非常有用的功能。

  • 您也可以通过报告服务发布报告。

  • 您可以通过 Reporting Services 框架获得报告服务(Excel、csv、pdf 等)的所有数据导出选项。

于 2008-11-16T19:12:41.383 回答