[ascoders] Re: AS2 und die Detektive (war:Singletons & andere seltsame Erscheinungen)
- From: Ralf Siegel <ralf@xxxxxxxxxxx>
- To: ascoders@xxxxxxxxxxxxx
- Date: Wed, 24 Sep 2003 21:23:42 +0200
Für mich ist nicht klar, was hier eine Klasse überhaupt für einen Vorteil
gegenüber einem einfachen Objekt hat. Ich sehe natürlich die Problematik,
das AS2 nur Klassenbasiert funktioniert, aber das ist wieder ein Grund mehr
AS2 als Rückschritt zu empfinden.
Eine Klasse ist einfach die Vorlage für das Objekt und erweiterbar. Wenn du
heute nur eine Instanz brauchst, brauchst du morgen vielleicht doch noch
eine zweite Instanz oder möchtest eine Klasse ableiten und hast vorgesorgt.
Sicher geht's einfach mit einem Objekt und Methoden dranpappen, aber
Klassen sind sauberer und leichter zu warten.
Es gibt ja dadurch auch 'Multiple Singletons'. Ein schönes Beispiel sind
hierbei Netzwerk-Verbindungen und Browser-Fenster. Du hast also eine Klasse
'NetworkConnections' welche maximal 2x instanziert werden kann. Jedes von
den hunderten Browserfenstern 'zieht' sich seine Verbindung, die Klasse
'NetworkConnections' übernimmt die Lastverteilung, d.h. 50 Fenster bekommen
Verbindung 1 (die erste Instanz), die andern 50 bekommen Verbindung 2 (die
zweite Instanz).
Und das Singleton als Software-Muster an sich ist wie mit allen Patterns
vor allem auch ein Weg zu kommunizieren. Wenn jemand erzählt "Mach da 'n
Singleton aus dem PathFinder", ist das kurz und präzise. Ansonsten müsste
erst jemand erklären:
"Bei dem PathFinder darf es nur ein Instanz geben, sonst funktioniert der
Zähler nicht und der Broadcaster wird tausend mal angemeldet und so und
überhaupt. Mach also den Konstruktor 'privat' um eine direkte Instanzierung
zu verbieten und definiere eine Methode, die eben diese eine Instanz
zurückgibt ... "
Ein Objekt ist einfach, aber letzlich auch nur eine Instanz von Object, dem
du Dinge aufpackst
Ich bin halt ein Fachidiot, was andere
Programmiersprachen angeht, aber ich hätte wirklich ein paar nette Ideen,
die das Leben wesentlich einfacher machen würden.
Bin für alles zu haben, was ab vom Weg liegt - wie wäre es mit einem Branch
-> AS 1.5
*g*
Die ganze Variablendeklaration kann doch auch der Compiler machen. Ich sehe
da keinen Sinn drin. Und ohne verschachtelte Klassen muss ich immer Methoden
und Eigenschaften 'public' machen, die eigentlich für nur eine Klasse Sinn
machen.
Kannst du das an einem kleinen Beispiel AS1 vs. AS2 deutlich machen? Bin
mir nicht sicher, was du meinst.
ralf ...
------------------------------------------------------
Archiv : //www.freelists.org/archives/ascoders/
Optionen : //www.freelists.org/list/ascoders
------------------------------------------------------
Other related posts: