Wenn Sie mit Ihren Modellen müssen beschäftigen, sind Sie wahrscheinlich im Rahmen eines einzelnen Controllers gehen werden, um mehr zu tun (es sei denn, alle benutzen, um Ihre Controller die gleichen Modelltypen ?). Ein alternativer Ansatz würde darin bestehen, die OnActionExecuting()
und OnActionExecuted()
Methoden der Controller selbst außer Kraft zu setzen. Auf diese Weise können Sie Ihre Geschäftslogik innerhalb des Steuerungsbereichs halten.
Im Allgemeinen werden ActionFilter für übergreifende Probleme verwendet - etwas, das Sie für viele Aktionsmethoden ausführen möchten, unabhängig davon, wo sie in der App vorhanden sind. Wenn Ihre Modell-Sanitisierungslogik also nicht auf viele Controller und Aktionen angewendet wird oder sehr allgemein ist (was vielleicht der Fall ist, in diesem Fall ist Ihr Ansatz wahrscheinlich gut), sollten Sie sie aus den Filtern und in Ihre Controller holen. Wenn es etwas ist, das breit angewendet werden kann, dann ist ein ActionFilter in Ordnung.
Smells schlechtes Design. –
Filip, wenn du kritisieren willst, dann sei bitte konstruktiv. Sag mir, warum es schlechtes Design ist, sag mir, was du als gute Alternativen siehst ... sonst ist dein Kommentar nutzlos für mich und alle anderen, die diesen Beitrag lesen ... –