Einzelnen Beitrag anzeigen
Alt 14-06-2004, 08:47   #10 (permalink)
kaneda
thinkin aBout tha lib.
 
Benutzerbild von kaneda
 
Registriert seit: Nov 2001
Ort: Kölle
Beiträge: 1.379
hmm

Zitat:
>Mir ist gerade noch zwei wichtige Punkte eingefallen warum man Singletons nicht durch statisch Methoden regeln sollte.

... kein "this" statement...
klar gibts das ...

Code:
static function do() {
  var that = eval("th"+"is");
}
Jop man krieg pro Projekt einen CVS Server. Man muss sich auch nicht organisation aufhalsen, man kann auch einfach nur veröffentlichen.

Ich weiss nicht obs zum Thema "Singleton" passt... ich hab letzens für ein grossflächiges Refactoring rund um einen bitterbösen Bug ein bischen etwas anderes gemacht, das im Endeffekt vielleicht nicht so das schönste war aber in meinem Fall die einfachste schnellste und doch recht saubere Lösung. Das ganze auch noch in JavaScript *urgs*

und zwar hab ich die selben methoden zusätzlich(was ja in einer anständigen OOP Sprache nicht exisitert) statisch angelegt wie sie vorher public verfügbar waren. Dazu hab ich eine Mehtode geschrieben die instanzen der Klasse anhand eines parameters anlegt... so irgendwie:

Code:
MyClass = function(win) {
  this.win = win;
}
o = MyClass.prototype;
p = MyClass;
p.instances = new Array();
p.initialize = function(win) {
  this.instances[this.instances.length] = new this(win);
}
p.doSomething = function() {
  for(var i=0; i<this.instances.length; i++) {
     this.instances[i].doSomething();
  }
}
o.doSomething = function() {
  //... usw.
}
Das war ein recht grosses refactoring. Ich habe (wie man vielleicht merkt) vorher statische methoden verwendet. (Zugegeben es ist eine hässliche methode aber sie funktioniert momentan ganz gut und ist schnell(was wichtig ist), kritik ist nicht erlaubt, schliesslich würde ich es jetzt nicht mehr so schreiben.)

Hätte ich gleich von anfang an Singletons verwendet so wäre das nicht in ganz so viel Arbeit ausgeartet beim umbauen und ich hätte einfach einen broadcaster dazwischenschalten können.

nunja. just my 2 cents.
__________________
Back to community with http://leichtgewicht.at
kaneda ist offline   Mit Zitat antworten