Entwurfstmuster für JavaScript-Objekte mit Abhängigkeiten

Momentan arbeite ich gerade zusammen mit simpleTechs an einem Webprojekt, bei welchem JavaScript eine starke Rolle spielt. Da ich bei diesem Projekt mit dem Bau einer Hilfsklasse für diverse JavaScript-Funktionen beschäftigt bin, habe ich nochmal über Entwurfsmuster (engl. design patterns) für JavaScript-Objekte nachgedacht.

Für den Entwurf von Objekten, die eine Abhängigkeit zu anderen Objekten (bspw. jQuery) haben, gefällt mir dieses Design besonders gut:
Entwurfstmuster für JavaScript-Objekte mit Abhängigkeiten weiterlesen

Private und public Properties und Methoden mit JavaScript

Einer der schönsten Sätze aus der Objektorientierten Programmierung ist: „Keep it DRY, shy, and tell the other guy“. Das shy bezieht sich in diesem Fall auf die Datenkapselung, welche verantwortlich für den kontrollierten Zugriff auf Methoden bzw. Attribute von Klassen ist. Die wichtigsten Zugriffsarten sind dabei „private“ und „public“, welche sich auch mit JavaScript modellieren lassen:

Beispiel:

var myModule = function(){
  var privateProperty = "Top Secret!";
  var privateMethod = function(){
    alert("Private: "+privateText);
  }
 
  return {
    publicProperty: "Hello World!",
    publicMethod: function(){
      console.log("My private property: "+privateProperty);
      console.log("My public property: "+this.publicProperty);
    }
  };
}();

Aufruf:

myModule.publicMethod();

Vielen Dank an das Module Pattern von Douglas Crockford.

Weitere Infos:
A JavaScript Module Pattern, Eric Miraglia
Introduction to the JavaScript Module Design Pattern, Colin O’Dell
JavaScript Module Pattern: In-Depth, Ben Cherry
Learning JavaScript Design Patterns, Addy Osmani