Da Johns Anwendung nun vollständig implementiert ist, kann die letzte Phase der Implementierung abgeschlossen werden: Toms Präsentationsschicht. Toms Anwendung ist mit einem komplexeren Front-End ausgestattet, das einen Warenkorb sowie eine dynamische Seitengenerierung umfasst. Am Ende dieses Artikels werden zwei vollständig implementierte und funktionale Anwendungen zur Verfügung stehen.
Die Grundlagen schaffen
Bevor man beginnt, die Anwendungsfälle zu implementieren, müssen bestimmte Basisstrukturen für das Front-End erstellt werden. Toms Anwendung wird dieselben drei Basiskomponenten benutzen wie die Anwendung von John: ein Stylesheet, spezifische Navigationskontrollen und einen ASPX-Identifier. Zusätzlich sind in Toms Anwendung separate Unterordner für die ASPX-Seiten, ein Stateful-Session-Objekt und eine spezifische Fehlermeldungsseite erforderlich.
Man öffnet Toms ASP.NET-Lösung und ersetzt den Inhalt der standardmäßigen Styles.css-Datei durch den Inhalt aus Listing A (Link zu Styles.css). Toms Stylesheet weist die gleiche Grundstruktur auf wie das von John, es fügt jedoch andere Farben und Fonts hinzu.
Als Nächstes fügt man die ASPX-Identifier-Klasse hinzu. Dazu klickt man mit der rechten Maustaste auf Toms ASP.NET-Projekt und wählt Add | Add Class (Hinzufügen | Klasse hinzufügen). Die neue Klasse nennt man WebPageNames.vb. Dann kopiert man den Inhalt aus Listing B in diese Klasse. Genau wie bei Johns Anwendung wird jede ASPX-Seite in der Anwendung durch eine statische Konstante identifiziert, um hart kodierte Seitenreferenzen zu vermeiden.
Um eine Trennung zwischen den öffentlichen und den verborgenen Bereichen der Website zu schaffen, muss man zwei Unterordner erstellen. Dazu klickt man mit der rechten Maustaste auf Toms Anwendung und wählt Add | New Folder (Hinzufügen | Neuer Ordner). Diesen Vorgang muss man zweimal wiederholen, um zwei Ordner mit den Bezeichnungen „public“ und „private“ einzurichten. Seiten, die nur für Toms registrierte Kunden verfügbar sind, werden in dem privaten Ordner platziert, während alle anderen Seiten in dem öffentlichen Ordner landen.
Da Toms Anwendung einen einfachen Warenkorb ausführt, muss man einige grundlegende Funktionen zur Statusverwaltung in die Anwendung integrieren. Anstatt mehrere Variablen in das Session-Objekt zu packen, fasst man die benötigten Variablen in einer neuen Klasse zusammen und platziert eine einzelne Instanz dieser Klasse in die Session, um eine übersichtlichere Verwaltung zu ermöglichen.
Zur Implementierung dieser Klasse klickt man mit der rechten Maustaste auf Toms Anwendung und wählt Add | Add Class (Hinzufügen | Klasse hinzufügen). Die neue Klasse nennt man SessionObj.vb und der Inhalt aus Listing C wird in diese Klasse kopiert.
Die SessionObj-Klasse dient zur Verwaltung von Informationen, die einzelne Kunden sowie die Bücher betreffen, die diese ihrem Warenkorb hinzugefügt haben. Man fügt den folgenden Code zu der Datei Global.asax hinzu, um ein neues Session-Objekt für jeden Benutzer zu erstellen, sobald dieser auf die Anwendung zugreift:
In die Navigationsleiste wird eine einfache Reihe aus Buttons implementiert, die oben auf jeder Seite angezeigt werden und dem Kunden das Navigieren in der Anwendung ermöglichen. Ein kleiner Zusatz zu der Navigationsleiste zeigt an, wie viele Objekte sich jeweils im Warenkorb des Benutzers befinden. Die Variable NumItems in der SessionObj-Klasse übernimmt es, die Anzahl aller im Warenkorb des Kunden befindlichen Bücher zu zählen.
Zum Hinzufügen der Navigationsleiste muss man mit der rechten Maustaste auf den öffentlichen Ordner klicken und Add | Add Web User Control (Hinzufügen | Web-Benutzersteuerelement hinzufügen) wählen. Man nennt dieses Steuerelement NavBar.ascx und fügt den HTML-Code aus Listing D zu der HTML-Ansicht des Steuerelements hinzu sowie den VB.NET-Code aus Listing E zur Code-Behind-Datei.
Kostengünstiger Mini-PC mit AMD Ryzen 7 5825U-Prozessor, 16 GB Arbeitsspeicher (RAM) und 512 GB SSD.
Bösartige QR-Codes, die per E-Mail versendet werden, eignen sich sehr gut, um Spam-Filter zu umgehen.
Unsichere Websites und Phishing-Mails in Verbindung mit Black Friday können kauffreudigen Konsumenten zum Verhängnis werden.
Malware SmokeLoader wird weiterhin von Bedrohungsakteuren genutzt, um Payloads über neue C2-Infrastrukturen zu verbreiten.
Bankhaus Metzler und Telekom-Tochter MMS testen, inwieweit Bitcoin-Miner das deutsche Stromnetz stabilisieren könnten.
Mit 1,7 Exaflops ist El Capitan nun der dritte Exascale-Supercomputer weltweit. Deutschland stellt erneut den…