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

Hochsichere Software für Electronic Knee Boards der Bundeswehrpiloten

Im Rahmen der umfassenden Digitalisierung der Bundeswehr ersetzen Electronic Knee Boards die herkömmlichen Handbücher von…

4 Tagen ago

Mai-Patchday: Microsoft schließt zwei aktiv ausgenutzte Zero-Day-Lücken

Sie betreffen Windows 10, 11 und Windows Server. In SharePoint Server steckt zudem eine kritische…

4 Tagen ago

Firefox 126 erschwert Tracking und stopft Sicherheitslöcher

Mozilla verteilt insgesamt 16 Patches für Firefox 125 und älter. Zudem entfernt der Browser nun…

4 Tagen ago

Supercomputer-Ranking: Vier europäische Systeme in den Top Ten

Einziger Neueinsteiger ist das Alps-System in der Schweiz. Die weiteren Top-Ten-Systeme aus Europa stehen in…

5 Tagen ago

Angriffe mit Banking-Malware auf Android-Nutzer nehmen weltweit zu

Im vergangenen Jahr steigt ihre Zahl um 32 Prozent. Die Zahl der betroffenen PC-Nutzer sinkt…

5 Tagen ago

Künstliche Intelligenz fasst Telefonate zusammen

Die App satellite wird künftig Telefongespräche in Echtzeit datenschutzkonform mit Hilfe von KI zusammenfassen.

5 Tagen ago