Revealing Module Pattern
JavaScript 🟡 MidType : Pattern
Definition
Variante du module pattern ou toutes les fonctions sont definies dans le scope prive et l'objet retourne ne contient que des references vers celles qu'on veut rendre publiques. Cela clarifie la distinction public/prive.
Analogie
Un restaurant avec une cuisine fermee : tout est prepare en coulisses, et seul le menu affiche ce que les clients peuvent commander.
Exemple de code
const Logger = (() => {
const logs = [];
const add = (msg) => logs.push(msg);
const print = () => console.log(logs.join(class="str">39;\n39;));
return { add, print }; class="cmt">// clear n39;est pas expose
})();Cas d'usage
Structurer un module en separant clairement les fonctions internes des fonctions exposees.