Pattern zur Wiederverwendung von Code in ASP.NET

Verwendet man das Page Controller-Pattern, implementiert eine zentrale Klasse namens BaseController alle gängigen Verhaltensweisen, die zur Bearbeitung des HTTP-Requests, für das Update des Modells sowie die Weiterleitung eines Requests an die entsprechende View erforderlich sind. Der BaseController kümmert sich um allgemeine Funktionen wie Session-Management, Sicherheit und das Extrahieren von Daten aus Abfrage-Strings oder versteckten Feldern. Für jeden Link in der Webanwendung erstellt man dann eine individuelle PageController-Klasse, die vom BaseController erbt. Diese einzelnen PageController implementieren jedes seitenspezifische Verhalten, während sie auf die Kernfunktionen zurückgreifen, wie sie vom BaseController implementiert worden sind.

In vielen Fällen lässt sich eine Anwendung in eine Reihe einheitlicher Seitentypen aufteilen, denen eine gemeinsame Logik zugrunde liegt. Vielleicht gibt es eine Reihe von Seiten zum Eintragen von Daten oder mit tabellarischen Übersichten (Grid View), die alle eine gemeinsame Logik aufweisen. In solchen Fällen kann es sinnvoll sein, einen DataEntryController oder einen GridViewController zu implementieren, der von der BaseController-Klasse erbt. Hieraus kann man dann

PageController

implementieren, welche die gemeinsamen Methoden nutzen. Man sollte aber aufpassen, nicht zu viele Vererbungsebenen zu implementieren, denn sonst kann es bei der Wartung des Anwendungsdesigns zu Schwierigkeiten kommen. Man kann die Vererbungshierarchie durch das Erstellen von „Helfer-Klassen“ minimieren, die gemeinsamen, auf jeder Ebene der Hierarchie aufrufbaren Code enthalten.

Um das Page Controller-Pattern zu implementieren, erstellt man die BaseController-Klasse durch Vererbung von System.Web.UI.Page und implementiert dann die gemeinsamen Anwendungsfunktionen. Der BaseController könnte zum Beispiel ein einheitliches Look and Feel implementieren, indem er eine Kopfzeile, eine Fußzeile und einige benutzerspezifische Informationen bereitstellt (zum Beispiel Anmelde-Namen und Abteilung). Dann erstellt man jede Seite der Anwendung durch Vererbung von dieser BaseController-Klasse und implementiert die seitenspezifische Logik in Klassen in der Code Behind-Datei. Dies funktioniert für mäßig komplexe Anwendungen mit einem festen Navigationspfad. Falls man dynamische Navigation benötigt, empfiehlt sich das Front Controller-Pattern.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Google stopft weitere fünf Löcher in Chrome 128

Betroffen sind Chrome für Windows, macOS und Linux. Das von den Anfälligkeiten ausgehende Risiko stuft…

3 Tagen ago

Steuerstreit mit der EU: Apple muss 13 Milliarden Euro nachzahlen

Der Gerichtshof der Europäischen Union entscheidet „endgültig“ über den Rechtsstreit. Dem Urteil zufolge sind von…

4 Tagen ago

September-Patchday: Microsoft schließt kritische Zero-Day-Lücke in Windows Update

Sie betrifft ältere Versionen von Windows 10. Ein weiterer kritischer Bug steckt aber auch in…

4 Tagen ago

CloudEye für 18 Prozent aller Malware-Infektionen in Deutschland verantwortlich

Der Downloader nimmt Windows-Rechner ins Visier. RansomHub festigt seine Position als führende Ransomware-Gruppe weltweit.

4 Tagen ago

Funeral Scams: Neue perfide Online-Betrugsmasche auf Facebook

Britische Bestattungsunternehmen haben bereits reagiert und weisen darauf hin, dass ihre Beerdigungen nicht gelivestreamt werden.

5 Tagen ago

Apple stellt iPhone 16 und iPhone 16 Pro vor

Der neue Apple-Prozessor A18 basiert auf einem 3-Nanometer-Verfahren. Apple verspricht mehr Leistung und eine höhere…

5 Tagen ago