Question

J'ai une application Web avec une couche de présentation et une couche d'affaires que des projets individuels. Étant une application web et l'autre étant une bibliothèque de classes. J'ai ajouté une référence Web à l'application Web pour utiliser un service Web. J'ai aucune difficulté à utiliser l'API de service, mais Im me trouver en ajoutant beaucoup de logique de type de couche métier dans ma couche de présentation pour utiliser cette API. J'aimerais si je pouvais changer une partie de mon code de la couche d'affaires à travailler avec le service Web, mais la configuration de ces sons comme un grand pas circulaire no. Quoi qu'il en soit, j'aimerais avoir mes objets soient en mesure de continuer à faire ce qu'ils font, mais avoir aussi travailler avec un service web, mais je me trouve avoir à créer une classe d'aide / gestionnaire dans ma couche de présentation au travail avec le web -un service. Cela me fait requiers le code change partout où je remplissais les actions sur les objets que je voulais ajouter le service. Quelle est la bonne façon d'attaquer ce problème?

Je ne suis pas même sûr qu'il ya une question légitime de n'importe où dans tout ce que décousu, mais si quelqu'un pouvait offrir des mots utiles i serait grandement apprécié.

Merci !!

Était-ce utile?

La solution

La façon dont je l'ai approché est de créer quelque chose à cet effet:

  • Accès aux données couche
  • couche logique métier
  • Service Layer (Dépourvu de toute logique métier, juste une interface)


  • Service Couche d'accès (Dépourvu de toute logique de logique métier ou présentation)

  • Présentation couche (MVC, Présentation logique, etc ...)

Votre couche de service étant dépourvue de logique métier peut être modifiée sans affecter votre logique métier. Votre couche Service d'accès sur les abris côté client vous des changements dans l'interface de service aussi bien.

Autres conseils

Si votre couche de service expose que des méthodes comme services (comme les méthodes CRUD peut-être aussi simples que SaveInvoice (InvoiceDTO)) puis dans la plupart des cas, vous devriez être ok. Cependant, nous pourrions utiliser un code de votre côté.

Il y a vraiment beaucoup de façons de construire des couches de services, statefull, non statefull etc etc, essayez donc d'expliquer ce que vous obtenez la répétition dans votre présentation

Peut-être que vous devriez avoir votre service encapsulent la logique métier aussi bien? De cette façon, votre couche de présentation ne ferait accéder au service -. Le service accéderait la couche logique métier

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