2010-09-18 7 views
6

Szukam sposobu na strukturę warstwy mojej aplikacji między warstwą prezentacji a warstwą model/obiekt biznesowy. Widzę przykłady przy użyciu klas Controller i innych przy użyciu klas Service. Czy są to te same rzeczy o różnych nazwach dla różnych metodologii, czy też istnieje bardziej fundamentalna różnica?Jaka jest różnica między kontrolerem a usługą?

Edytuj: Aby umieścić pytanie w kontekście, jest to aplikacja PHP używająca Doctrine jako ORM.

Odpowiedz

2

Powiedziałbym, że terminy takie jak Controller są w zasadzie tymi samymi nazwami dla potencjalnie bardzo różnych rzeczy w zależności od metodologii/struktury, z której korzystasz. Na bardzo wysokim poziomie mogą wykonywać to samo działanie - stąd ogólne użycie nazwy - ale ich zakres odpowiedzialności i zakres w kontekście struktury będą zazwyczaj znacznie bardziej szczegółowe i różne.

Np .: Kontroler w MVC ma niewiele lub nic wspólnego z warstwą kontrolera w WCSF.

Myślę, że te terminy, takie jak Controller/Service itp. Są ogólne i dlatego zostały wykorzystane w wielu ramach, ale mają specjalne znaczenie w ramach odniesienia.

Co więcej, kontroler i usługa dla mnie to dwie zupełnie różne koncepcje.

Kontroler jest coś jak warstwa, która jest odpowiedzialna za wzniecanie logikę w aplikacji/lub aspekt zastosowania

Service, do mnie, jest w zasadzie API zewnętrznych, przez które narażają aspekty swojej aplikacji w standardowy sposób