Frage

Ich habe eine Web -App mit einer Präsentationsschicht und einer Geschäftsschicht als individuelle Projekte. Einer ist eine Webanwendung und die andere als Klassenbibliothek. Ich habe eine Webanwendung zur Verwendung eines Web-Service hinzugefügt. Ich habe keine Probleme, die Service -API zu verwenden, aber ich finde mich in meiner Präsentationsebene eine Menge Logik der Geschäftsschicht hinzu, um diese API zu verwenden. Ich würde es lieben, wenn ich nur einen Teil meines Geschäftsschichtcodes für die Arbeit mit dem Webdienst ändern könnte, aber die Konfiguration solcher Klassen wie ein großes kreisförmiges Nein. Wie auch immer, ich würde es lieben, meine Objekte weiter zu tun, was sie tun, aber es funktioniert auch mit einem Web-Service, aber ich muss eine Helfer-/Manager-Klasse in meiner Präsentationsschicht erstellen, um mit dem Web zu arbeiten -Service. Dies führt dazu, dass ich überall, wo ich die Aktionen auf den Objekten ausführte, die ich mit dem Dienst hinzufügen wollte, Codeänderungen benötigt. Was ist die richtige Art, dieses Problem anzugreifen?

Ich bin mir nicht einmal sicher, ob es irgendwo in all dem Streifen eine legitime Frage gibt, aber wenn jemand hilfreiche Worte anbieten könnte, wäre ich sehr dankbar.

Vielen Dank!!

War es hilfreich?

Lösung

Die Art und Weise, wie ich mich darauf gewandt habe, bedeutet, etwas in diesem Effekt etwas zu schaffen:

  • Datenzugriffsschicht
  • Geschäftslogikschicht
  • Serviceschicht (ohne jede Geschäftslogik, nur eine Schnittstelle)


  • Service Access Layer (ohne Geschäftslogik oder Präsentationslogik)

  • Präsentationsschicht (MVC, Präsentationslogik usw.)

Ihre Serviceschicht, die keine Geschäftslogik hat, kann jetzt geändert werden, ohne dass Sie Ihre Geschäftslogik beeinflussen. Ihre Service -Zugriffsschicht auf der Client -Seite schützt Sie auch vor Änderungen in der Serviceschnittstelle.

Andere Tipps

Wenn Ihre Serviceschicht nur serviceähnliche Methoden (wie möglicherweise einfache CRUD-Methoden als SaveInvoice (in Rechnung)) freilegt, sollten Sie in den meisten Fällen in Ordnung sein. Wir könnten jedoch einen Code von Ihrer Seite verwenden.

Es gibt wirklich viele Möglichkeiten, Dienstebenen, staatliche, nicht statende usw. usw. zu bauen. Versuchen Sie also, zu erklären, welche Wiederholung Sie in Ihrer Präsentation erhalten

Vielleicht sollten Sie Ihren Service auch die Geschäftslogik inschließen lassen? Auf diese Weise würde Ihre Präsentationsebene nur auf den Service zugreifen - der Service würde auf die Geschäftslogikschicht zugreifen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top