Question

J'ai une solution Visual Studio avec les projets suivants:

  1. interface utilisateur
  2. DataAccess
  3. BusiessLogic
  4. BusinessObjects

J'ai maintenant un tas de code qui génère des rapports qui sont envoyés par courrier électronique ou enregistrés en tant que fichiers CSV.

Ces classes ReportGenerators acceptent des objets métier et génèrent des fichiers ou des chaînes.

dans quel projet les mettriez-vous? Je me penche vers une réponse mais je voulais voir ce que les autres pensaient?

Était-ce utile?

La solution

Je créerais un projet de reporting séparé. Il n'appartient pas à l'interface utilisateur (je suppose qu'ils fonctionnent en arrière-plan) - il s'agit en réalité d'une couche de "logique de rapport".

Si vous envisagez de prendre en charge la création de rapports, vous souhaiterez peut-être un service d’arrière-plan, mais vous voudrez peut-être également exposer les données via un service Web. Si vous devez fournir aux utilisateurs une fonction de génération de rapports frontale, vous vous connectez à la logique de rapport comme vous le feriez avec une interface utilisateur normale - > Logique - > Architecture d'accès aux données.

En outre, si vous séparez votre code de rapport, vous êtes libre de l'extraire à un niveau de rapport dédié à l'avenir.

Autres conseils

Un accord avec le post de manwood - vous devriez les construire sous forme de rapports (mettez un sproc derrière les rapports si nécessaire) pour les raisons suivantes:

  • Vous pouvez exécuter les rapports et afficher les à travers le ReportViewer contrôle. C'est assez facile à faire.

  • Vous (et plus important encore d'autres personnes soutenant l'application) peut étendre l'application avec plus rapports sans avoir à libérer une autre version de l'application. C'est une fonctionnalité très utile si vous ne voulez pas être lié à la prise en charge de l'application.

  • Vous pouvez publier les rapports via Les services de reporting également.

  • Vous obtenez toutes les options d'exportation de données des services de reporting (Excel, CSV, pdf etc.) avec le rapport Cadre de services.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top