2010-09-18 24 views
6

Ich bin auf der Suche nach der Struktur der Ebene meiner App zwischen der Präsentationsschicht und dem Modell/Business-Objekt-Layer. Ich sehe Beispiele mit Controller-Klassen und andere mit Service-Klassen. Sind dies die gleichen Dinge mit unterschiedlichen Namen für verschiedene Methoden oder gibt es einen grundlegenderen Unterschied?Was ist der Unterschied zwischen einem Controller und einem Service?

Bearbeiten: Um die Frage in Zusammenhang zu bringen, ist dies eine PHP-App mit Doctrine als ORM.

Antwort

2

Ich würde sagen, Begriffe wie Controller sind im Grunde die gleichen Namen für potenziell sehr unterschiedliche Dinge je nachdem, welche Methodik/Framework Sie verwenden. Auf einer sehr hohen Ebene können sie die gleiche Aktion ausführen - daher die generische Verwendung des Namens -, aber ihre Verantwortlichkeiten und ihr Umfang innerhalb des Rahmens des Frameworks werden normalerweise viel spezifischer und unterschiedlicher sein.

Beispiel: Der Controller in MVC hat wenig oder gar nichts mit der Controller-Schicht in WCSF zu tun.

Ich denke, diese Begriffe wie Controller/Service usw. sind generisch und wurden daher in vielen Frameworks verwendet, aber sie haben eine besondere Bedeutung im Rahmen der Referenz.

Auch im Speziellen, ein Controller und ein Service für mich sind zwei völlig unterschiedliche Konzepte.

Controller ist so etwas wie eine Schicht, die für die Orchestrierung Logik innerhalb der Anwendung/oder einem Aspekt der Anwendung

verantwortlich ist

Service, zu mir, ist im Grunde die externe API, über die Sie in eine Aspekte Ihrer Anwendung aussetzen Standardart

Verwandte Themen