Design Patterns are reusable solutions for solving common programming problems.
🎨 Common Patterns:
• Module Pattern: Encapsulation
• Singleton: One instance only
• Factory: Object creation
• Observer: Event subscription
javascript
// 1. Module Pattern (Encapsulation)
const Calculator = (function() {
// Private variable
let result = 0;
// Public methods
return {
add(n) {
result += n;
return this;
},
subtract(n) {
result -= n;
return this;
},
getResult() {
return result;
},
reset() {
result = 0;
return this;
}
};
})();
Calculator.add(10).add(5).subtract(3);
console.log(`Result: ${Calculator.getResult()}`);
// 2. Singleton Pattern
const Database = (function() {
let instance;
function createInstance() {
return { connection: "MySQL Connection" };
}
return {
getInstance() {
if (!instance) {
instance = createInstance();
}
return instance;
}
};
})();
const db1 = Database.getInstance();
const db2 = Database.getInstance();
console.log(db1 === db2); // true (same instance)You should see
Result: 12 true