Coldfusion: Lese- und Schreibzugriffe auf gemeinsame Variablen sperren

Den meisten mittel bis weit fortgeschrittenen CF-Entwicklern ist das oben Gesagte bereits klar. Doch scheinen sich noch viele CFer bei Shared Scopes und Instanzen von Coldfusion Components (CFC) unsicher zu sein.

CFCs sind objektähnliche Konstrukte, und sie können in jeden gemeinsamen Variablenbereich instanziiert werden. Dadurch hat sich CF-Entwicklern eine ganz neue Welt eröffnet. Es werden aber auch neue Fragen dazu aufgeworfen, wo und wann Code gesperrt werden muss. Besonders stark scheint die Verwirrung bezüglich der Unterschiede zwischen dem Speichern einer stateless CFC und einer stateful CFC zu sein.

Eine stateless CFC ist eine CFC ohne interne Instanzdaten oder mit Instanz-Daten, die nur sehr selten aktualisiert werden. Mit anderen Worten, ihr interner Status ändert sich nicht, sobald er einmal gesetzt wurde. In CFCs repräsentiert der „variables“-Scope Instanzdaten, was für die Praxis bedeutet, dass eine stateless CFC keine internen Daten im Variable-Scope aktualisiert. Der „this“-Scope kann auch Instanzdaten beinhalten, doch weil er öffentlich ist, wird das oft vermieden.

Dagegen enthält eine stateful CFC Instanzdaten, die sich ändern. Ihr innerer Status verändert sich und Daten innerhalb ihres Variable-Scopes werden modifiziert. Der Unterschied zwischen beiden ist sehr wichtig, da er die zu verwendende Locking-Methode vorgibt.

Als Beispiel dient das folgende Szenario mit einer stateless CFC. Ein Entwickler programmiert eine Applikation, die aktuelle Unternehmensnachrichten anzeigen soll. Er möchte vielleicht eine CFC erzeugen, um Daten und Verhalten in Verbindung mit Nachrichten zu verkapseln. Um dann die Performance zu steigern, könnte diese CFC in den Application-Scope instanziiert werden:

Statt nun jedes Mal, wenn Nachrichtendaten gebraucht werden, eine Instanz der newsManager-Komponente zu erzeugen, kann der Entwickler einfach Methoden auf die CFC-Instanz im Application-Scope anwenden. Für diejenigen, die mit OO Design Patterns vertraut sind: Dies ist eine Implementierung des Singleton-Musters.

Page: 1 2 3 4 5 6

ZDNet.de Redaktion

Recent Posts

Digitale Produkte „cyberfit“ machen

Vernetzte Produkte müssen laut Cyber Resilience Act über Möglichkeiten zur Datenverschlüsselung und Zugangsverwaltung verfügen.

4 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Das jüngste Update für Windows, macOS und Linux stopft drei Löcher. Eine Anfälligkeit setzt Nutzer…

4 Tagen ago

Apple schließt Zero-Day-Lücken in iOS, iPadOS und macOS

Zwei von Google-Mitarbeitern entdeckte Schwachstellen werden bereits aktiv gegen Mac-Systeme mit Intel-Prozessoren eingesetzt. Sie erlauben…

5 Tagen ago

Gefährliche Anzeigen für Passwortmanager Bitwarden verbreiten Malware

Die Hintermänner haben es unter anderem auf Daten von Facebook-Geschäftskonten abgesehen. Opfer werden über angebliche…

5 Tagen ago

Public Cloud: Gartner erwartet 2025 weltweite Ausgaben von 723 Milliarden Dollar

Bis 2027 werden 90 Prozent der Unternehmen eine Hybrid-Cloud-Strategie umsetzen.

5 Tagen ago

iPhone 15 ist bestverkauftes Smartphone im dritten Quartal

Apple belegt in der Statistik von Counterpoint die ersten drei Plätze. Samsungs Galaxy S24 schafft…

6 Tagen ago