اتاق برنامه نویسی </>
405 subscribers
63 photos
1 video
7 links
📌 کانال آموزش لاراول
@PapiDon_state
Download Telegram
اتاق برنامه نویسی </>
Photo
JS Design Patterns: A Comprehensive Guid

این مطلب یک راهنمای جذاب در زمینه الگوهای طراحی در جاوا اسکریپت است که اهمیت بالایی در دنیای برنامه‌نویسی دارد. این الگوها، که راه‌حل‌های امتحان‌پس‌داده برای مشکلات متداول در برنامه‌نویسی هستند، به شما کمک می‌کنند تا کدهای خود را به شکلی منظم، قابل نگهداری و گسترش‌پذیر بنویسید. در اینجا به بررسی چند نمونه از این الگوها در جاوا اسکریپت پرداخته می‌شود

1️⃣ الگو Singleton Pattern:

این الگو اطمینان می‌دهد که یک کلاس تنها یک نمونه (instance) داشته باشد. مثلاً برای مدیریت پایگاه‌داده یا تنظیمات سیستمی در جاوا اسکریپت کاربرد دارد. کد نمونه زیر نشان‌دهنده این است که چگونه دو شیء از یک کلاس به یک نمونه اشاره می‌کنند:


   let instance;
class Database {
constructor(data) {
if (instance) {
return instance;
}
this.data = data;
instance = this;
}
getData() {
return this.data;
}
}
const db1 = new Database('db1');
const db2 = new Database('db2');
console.log(db1 === db2); // true


2️⃣ الگو Observer Pattern:

این الگو به شما اجازه می‌دهد تغییرات در یک شیء را رصد کنید و در صورت وقوع تغییرات، اطلاع‌رسانی کنید. این کد نشان می‌دهد چگونه می‌توانید اشیاء را به یک موضوع مشترک متصل کنید و در هنگام تغییر داده‌ها، اطلاع‌رسانی کنید:


   class Subject {
constructor() {
this.observers = [];
}
subscribe(observer) {
this.observers.push(observer);
}
unsubscribe(observer) {
this.observers = this.observers.filter(obs => obs !== observer);
}
notify(data) {
this.observers.forEach(observer => observer.update(data));
}
}
class Observer {
update(data) {
console.log(`Observer received data: ${data}`);
}
}
const subject = new Subject();
const observer1 = new Observer();
const observer2 = new Observer();
subject.subscribe(observer1);
subject.subscribe(observer2);
subject.notify('Hello World');


3️⃣ الگو Module Pattern:

این الگو به شما کمک می‌کند تا کد خود را به صورت ماژول‌های مستقل سازمان‌دهی کنید تا از تداخل متغیرها و توابع در فضای نام جلوگیری شود:


   const MyModule = (() => {
let privateVar = 'I am private';
return {
publicMethod: () => `The value of privateVar is: ${privateVar}`
};
})();
console.log(MyModule.publicMethod());





📁 #javascript #DesignPatterns

کانال تخصصی لاراول
📌 @PapiDon_state

☕️ اتاق برنامه‌نویسی
📌 @PapiDon_coding
10