Vraag Wat moet een toepassingscontroller doen?


Ik ben een beetje in de war in wat de applicatie-controller zou moeten doen? Omdat ik zie dat de functionaliteit ook in uw MVP-patroon bestaat om de beslissingen te nemen welke vorm moet worden getoond wanneer op een knop wordt geklikt? Zijn er goede voorbeelden voor Windows-formulieren die gebruikmaken van het patroon van de toepassingscontroller?

Er is een verschil in de MVC (controleur) en de toepassingscontroller. Ik ken de MVC (ontroller), ik weet niet zeker wat de verantwoordelijkheden zijn voor een Application Controller en hoe past deze in een WinForms-toepassing. Martin Fowler noemt dit ook het Application Controller-patroon, toch is het niet hetzelfde als de MVC (ontroller)?


10
2017-09-23 12:49


oorsprong


antwoorden:


Ik heb onlangs een artikel geschreven over het maken en gebruiken van een ApplicationController in een C # Winforms-project, om de workflow en presentatoren rechtstreeks van de formulieren te ontkoppelen. Het kan helpen:

Werkstroom en formulieren ontkoppelen met een applicatiecontroller

Bewerk:
Archive.org heeft een beter leesbare kopie van het artikel momenteel.


12
2018-04-20 21:44



Een applicatie-controller is een beetje een ander beest dan de controller die wordt gebruikt in MVC.

Martin Fowler's pagina op de Application Controller.

In het geval van een MVP WinForms-app, wat lijkt te zijn waar het vraagstuk over gaat denk ik. U kan zet alle logica in voor "welke vorm ik nu laat zien" in de Presenter, maar naarmate uw applicatie groeit, zult u heel wat code tussen Presenters dupliceren.

Stel dat u twee weergaven hebt die beide een knop hebben voor 'Bewerk deze widget', beide zouden logica moeten hebben om WidgetEditorPresenter te krijgen en de bijbehorende weergave te tonen. Als je een ApplicationController hebt, verplaats je die logica naar de ApplicationController en nu heb je simpelweg een afhankelijkheid in al je presenters op de ApplicationController en kun je appController.EditWidget () aanroepen en het zal de juiste weergave tonen.

De toepassingscontroller is een uber-controller die de applicatieflow in uw systeem bestuurt terwijl u van scherm naar scherm gaat.


12
2017-11-28 15:49



Persoonlijk heb ik geen ervaring met MVP of winforms, maar ik heb met MVC gewerkt. Ik hoop dat dit is wat je vraagt, anders negeer ik volledig mijn antwoord.

De C in MVC is verantwoordelijk voor meer dan alleen het kiezen van de volgende weergave die aan de klant moet worden gepresenteerd. Het geldt het meest, bij voorkeur alle, bedrijfslogica van de applicatie, inclusief de uitvoering van systeemtaken (zoals logging en handhaving van toestemmingen op de stroom van gegevens van het model en naar het).

De primaire taak is natuurlijk om de presentatielaag erboven te bedienen en deze te scheiden van de onderliggende modellaag terwijl er tussenin wordt bemiddeld. Ik neem aan dat je het kunt zien als het brein van de applicatie.

Ik hoop dat dit helpt,

Yuval = 8-)


0
2017-09-23 13:02