Zależy od tego, co rozumiesz przez logikę biznesową. Każda „logika”, która nadaje znaczenie treści modelu, powinna znajdować się w modelu. W połączonym pytaniu najwyżej głosowana odpowiedź wydaje się definiować „logikę biznesową” jako cokolwiek związanego z danymi; ma to sens z punktu widzenia tego, że dane firmy to jej sprawa!
Kiedyś widziałem przykład twórcy Railsów (tak myślę), który robił dokładnie o tym - nie wprowadzając do modelu „logiki biznesowej”. Jego przykładem była klasa kontrolera oraz metoda rejestracji aplikacji i logowania - dostarczone hasło w postaci zwykłego tekstu zostało zaszyfrowane przed włożeniem lub zapytaniem o model (bazę danych).
Nie mogę wymyślić lepszego przykładu czegoś, co nie jest logiką kontrolera i które należy bezpośrednio do modelu.
Model może być interfejsem do niezliczonych magazynów danych, łagodząc obawy związane z przenośnością. To tutaj można znaleźć zamieszanie w związku z tym, czy nie, interfejs modelu jest w rzeczywistości „kontrolerem”.
Ogólnie rzecz biorąc, kontroler łączy model i widok (które są mięsem i ziemniakami aplikacji). W rozwoju Cocoa może być uproszczone do tego stopnia, że kontroler jest obsługiwany przez GUI XCode (obiekty kontrolera i powiązania).
Sekcja „Wzory projektowe” GoF na MVC, luźno cytowana:
Triada klas MVC służy do budowania interfejsów użytkownika w Smalltalk-80. Model jest obiektem aplikacji, widok jest prezentacją na ekranie, a kontroler określa sposób, w jaki interfejs użytkownika reaguje na dane wprowadzone przez użytkownika. MVC oddziela widoki i modele, ustanawiając między nimi protokół subskrypcji / powiadamiania. Poniższy schemat przedstawia model i trzy widoki. Dla uproszczenia pominęliśmy sterowniki.
W MVC chodzi o interfejsy użytkownika. Nacisk kładziony jest na model i widok - definiowanie i wyświetlanie danych. Zwróć uwagę na „protokół subskrybowania / powiadamiania” - tutaj przychodzi twój kontroler. Możesz zbudować wszystkie potrzebne widoki; tak długo, jak będą przestrzegać protokołu, nigdy nie będziesz musiał dotykać modelu ani kontrolera.
Jeśli chodzi konkretnie o tworzenie stron internetowych, wiele popularnych frameworków internetowych IMHO szybko i luźno posługuje się terminem MVC i jego definicjami komponentów.