Module Design Pattern 1
Illustration of the module design pattern.
by nevkatz
HTML
<div id="output">
</div>
JavaScript
// the module
var fruitBasket = (function() {
let apples = 0;
let oranges = 0;
return {
//apples
get_apples:function() {
return apples;
},
set_apples:function(num) {
apples = num;
},
increment_apples:function() {
apples++;
},
// oranges
get_oranges:function() {
return oranges;
},
set_oranges:function(num) {
oranges = num;
},
increment_oranges:function() {
oranges++;
}
}
})();
// the tests
// apples code
fruitBasket.set_apples(5);
fruitBasket.increment_apples();
let my_apples = fruitBasket.get_apples();
console.log(my_apples);
// expected output: 6
// oranges code
fruitBasket.set_oranges(41);
fruitBasket.increment_oranges();
let my_oranges = fruitBasket.get_oranges();
console.log(my_oranges);
// Expected output: 42
// additional output code for convenience
let txt = `apples: ${my_apples} oranges: ${my_oranges}`;
let output = document.getElementById('output');
output.textContent = txt;