2010-12-31 6 views
1

Ich benutze MVC 3. Ich versuche, die Dienstebene und den Dienst zu verstehen. Ich arbeite gerade an der Beispiel-App, die mit dem DoFactory-Quellcode geliefert wird. Diese Frage basiert auf der Beispielanwendung, aber im Allgemeinen.Service Layer Architecture Design Verwirrung

Es gibt eine Serviceschicht (WCF), die eine Reihe von Servicemethoden verfügbar macht. Die Service-Schicht implementiert einen einzigen Eintrittspunkt (das Fassadenmuster), über den die gesamte Kommunikation mit den darunter liegenden Schichten erfolgen muss. Die Fassade ist der Einstiegspunkt in die Business-Schicht und bietet eine sehr einfache, grobkörnige API.

Lets sagt, ich versuche, eine Liste von Clients zu bekommen, dann in der MVC-Controller wird es die GetCustomers-Methode des Repositorys aufrufen, dann wird dies die Service-Layer GetCustomers-Methode aufrufen.

Ich denke, ich bin hier ein wenig verwirrt. Ist diese Anwendungsarchitektur korrekt? Sollte der Controller nicht die Methode des Service-Layers und dann die Methode dieses Aufruf-Repositorys aufrufen. Ich dachte immer, dass das Repository immer die letzte Methode war, um Daten zu bekommen?

Bitte kann jemand helfen, dies zu klären?

Antwort

2

Ihre Architektur ist korrekt.

Ich dachte immer, dass das Repository immer die letzte Methode war, um Daten zu bekommen?

Ja, kommen die Daten in Ihrem Fall aus einem WCF-Dienst, aber es könnte alles sein: SQL-Datenbank, XML-Datei, ...

+0

Danke. Sie benötigen also keinen Dienst, der das Repository aufruft, das wiederum Daten vom WCF-Dienst erhält? Wo würde die Logik in diesem Fall in der WCF-Dienstschicht angewendet? –

+0

@ Brendan, nein in diesem Fall brauchen Sie keinen zusätzlichen Service. Die Geschäftslogik wird in der WCF-Schicht angewendet. –

+0

Danke! Ich war nur verwirrt in Bezug auf den Service und eine Service-Schicht. Du hast es für mich geklärt :) –