Ansicht umschalten
Avatar von knalli/s/world
  • knalli/s/world

mehr als 1000 Beiträge seit 26.08.2004

@ "Entwickeln in JavaScript" / @Jan Petzold

Hi,

an für sich ist das ja ein netter Artikel, aber für eine sinnvolle
und ernsthafte (und wohlmögliche größere, geplante Entwicklung) ist
das leider so nicht ganz in Ordnung oder ausreichend.

Erstens: Es lässt sich sehr wohl objektorientiert entwickeln;
objektbasiert ist JavaScript eh schon (streng genommen heißt es ja
nicht alert() sondern window.alert()). Natürlich ist JavaScript etwas
anders (eben mehr "Script") und man muss als Entwickler sich
"beschränken". 
Nebenbei: In großen Umgebungen ist es fatal, so etwas wie Singletons
zu nutzen -- die harte Kopplung zwischen Komponenten ist irgendwann
unüberschaubar komplex. Singletons sind auch nur globale Objekte. Und
Singletons sind kein Namespacing. Never. Es mag vielleicht für einen
Einsteiger verwirrend sein, weil man eben technisch nicht zwischen
Namespace oder Klassennamen unterscheiden kann (im Gegensatz zu Java
oder PHP), aber logisch sind das zwei paar Schuhe.

Zweitens: Ein alternativer Ansatz, anstatt immer "objektorientiert"
zu denken, wäre der komponentenorientierte Weg. Das funktioniert
meist eh gut, weil man auf der Seite selber auch mit Komponenten
arbeitet (Liste, Box, ..).

Drittens: Das Beispiel mit for-in ist leider gerade so falsch, wie
bspw. ein schneller Check mit JSLint zeigen wird. Bei einem for-in
muss immer mit hasOwnProperty geprüft werden, dass der Key auch
wirklich eine Property des Objekts ist.

Viertens: In Ergänzung zu 1+2 müsste eigentlich noch auf die daraus
resultierenden Pattern eingegangen werden: Module bzw. Namespace
Pattern zum Aufgliedern der Klassen bzw. Komponenten. Auch das
"Interface"-Pattern wäre sicherlich erwähnenswert, um den Character
"private/public" bzw. echte Implementierungsverbergung zu zeigen.

-knalli
Bewerten
- +
Ansicht umschalten