2011-12-21 2 views
0

Bon, j'ai ce service WCF en cours. Il a un accès public, qui est le service principal lui-même (HydSQLService) qui contient un DataContext pour l'accès à la base de données. Ce DataContext a été généré par SQLMetal.exe, bien que j'ai créé une classe partielle pour remplir les méthodes partielles. Donc, cette question est plus sur la façon de superposer cette application. A ce moment, le service (c'est-à-dire le bit publiquement exposé) contient une référence à l'objet DataContext. Il passe par cela pour accéder à la base de données SQL.Couches sur un service WCF

J'ai l'intention d'ajouter un calque entre ceux-ci pour la validation côté serveur, mais je ne suis pas sûr si je manque un calque ou quelque chose (je suis un peu nouveau à tout cela).

Alors, est-ce la bonne quantité de couches? Est-il structuré correctement, ou ai-je fait une surveillance horrible? Des suggestions seraient les bienvenues.

Répondre

2

La réponse est - comme toujours - cela dépend.

Pour comprendre les avantages et les inconvénients de votre architecture comme décrit, nous aurions besoin d'en savoir beaucoup plus sur les exigences et l'environnement avec lesquels vous travaillez. Cependant, le fait que vous ayez des couches est probablement une bonne chose. Le fait que vous pensiez à cet aspect de votre application est certainement une bonne chose.

En général, nous ajoutons des couches pour résoudre quelques défis:

  • La séparation des préoccupations. Avoir une couche gère un aspect de l'application (et le gère bien) est rarement une mauvaise chose. Cela vous permet d'extraire cette couche et de la remplacer sans réécrire le reste de l'application.
  • Testabilité - Il est souvent avantageux de tester les couches isolément (par exemple, des tests unitaires automatisés) pour s'assurer que la pièce fonctionne correctement.
  • Résumé absences communes fonctions (accès aux données, validation, etc). Cette peut rendre l'application plus facile à maintenir. Par exemple, ne pas avoir à maintenir un tas de code spécifique d'accès aux données au milieu d'une couche d'objet métier est agréable.

Ce genre de question est difficile à répondre spécifiquement dans ce contexte. Vous feriez un examen beaucoup plus approfondi pour obtenir le genre de rétroaction/direction que vous recherchez.

+0

Merci. Pour être honnête, j'ai été jeté dans quelque chose et il est souvent difficile de savoir exactement les questions à poser. Même ainsi, je pense que vous m'avez donné une réponse complète et patiente, et je vous en remercie. Je vais considérer ma demande et essayer de formuler quelque chose d'un peu plus spécifique. – TheFaithfulLearner