Hey,
habe bisher eigentlich immer den move fast and break things Ansatz verfolgt - entsprechend chaotisch ging's auch in meinem Code zu. Möchte mich nun aber endlich mit den verschiedenen Paradigmen anfreunden - daher mein jüngster Vorstoß in die klassenbasierte Programmierung.
Dazu hätte ich eine prinzipielle Frage bzgl. Best Practices:
so habe ich einiges über den Nutzen von self-contained Klassen gelesen, die entweder via Dependency Injection oder Interfaces mit der "Außenwelt" kommunizieren. Stolpere trotzdem immer wieder über Usecases, wo viele Instanzen einer Klasse einen globalen Wert mutieren, sei es auch nur ein Zähler, etc.
Dafür müsste ich innerhalb einer Klasse einen Wert heranziehen, der auf globaler Ebene definiert und mutiert wird - die Klasse würde daher in einem anderen Umfeld nicht mehr "funktionieren".
Beispiel (anhand von 'x'):
class myClass {
constructor(y) {
this.y = y;
}
mutateExternal() {
x++; // x in diesem Fall im globalen "Raum", Klasse "funktioniert" in anderem Umfeld nicht mehr!
}
}
Ist das zulässig? (...natürlich "funktioniert" es, ich würde aber eben gerne das Paradigma der klassenbasierten Programmierung besser verstehen / richtig anwenden lernen...)
Vielen Dank, euer Cornwall Peter