دیزاین پترنها در نود جی اس با توجه به asynchronous و event-driven بودن کاربرد خاصتری پیدا میکنند.
الگوی طراحی به پنج دسته تقسیم میشن الگوهای ایجاد (Creational Patterns) ، الگوهای ساختاری (Structural Patterns) ، الگوهای رفتاری (Behavioral Patterns) ، الگوهای همزمانی / عملکردی (Concurrency Patterns) و الگوهای معماری (Architectural Patterns) دسته ششم الگوهای Core
الگوهای ایجاد : برای ایجاد اشیاء به شیوهای انعطافپذیر و قابل گسترش کاربرد دارن مثل (Factory Singleton Builder Prototype Prototype Dependency Injection (DI))
الگوهای ساختاری : برای سازماندهی بهتر ساختار کلاسها یا ماژولها مثل (Adapter Decorator Facade Proxy Composite)
الگوهای رفتاری: نحوه تعامل بین اشیاء و مدیریت رفتار آنها
الگوهای همزمانی / عملکردی : مختص Node.js برای مدیریت async/non-blocking
1-Factory ساختن آبجکتها بر اساس شرایط یا ورودی خاص
Singleton تضمین وجود تنها یک نمونه از کلاس (مثلاً اتصال DB)
Builder ایجاد اشیاء پیچیده مرحله به مرحله
Prototype کپی کردن نمونه اولیه (استفاده کمتر در Node)
Dependency Injection (DI) تزریق وابستگیها (در NestJS بسیار رایج است)
2-Adapter یکپارچهسازی دو API ناسازگار (مثلاً تبدیل callback به Promise)
Decorator افزودن رفتار به اشیاء بدون تغییر کلاس اصلی
Facade سادهسازی دسترسی به سیستم پیچیده (مثلاً wrapper ساده برای Redis)
Proxy افزودن کنترل دسترسی یا cache به عملیات (مثلاً API rate limit)
Composite ساختاردهی اشیاء به صورت درختی (مثل منوها)
3-Observer اطلاعرسانی به آبجکتها هنگام تغییر (event emitters در Node)
Strategy تغییر رفتار کلاس در زمان اجرا (مثلاً الگوریتم احراز هویت)
Command بستهبندی درخواستها به عنوان اشیاء (undo/redo)
Chain of Responsibility پردازش زنجیرهای درخواست (مثلاً middleware در Express)
Mediator مدیریت ارتباط بین اجزا از طریق واسط مرکزی
State تغییر رفتار آبجکت بر اساس وضعیت داخلی
Iterator پیمایش روی مجموعهای از آیتمها (Streams در Node)
Template Method اسکلت الگوریتم در کلاس پایه + پیادهسازی در کلاس فرزند
4-Callback Pattern سبک سنتی Node برای async (قدیمیتر)
Promise Pattern سبک مدرنتر برای async (زنجیرهی then/catch)
Async/Await سادهسازی کنترل جریان async (ES2017 به بعد)
EventEmitter Pattern مدل رویدادمحور (Built-in در Node)
Reactor Pattern الگوی اصلی در پشت پردهی Event Loop
Pipeline Pattern پردازش مرحلهای دادهها (مثلاً در Streams)
Worker Pool / Thread Pool استفاده از worker_threads یا child_process برای پردازش موازی
5-MVC (Model–View–Controller) جداسازی concerns در وب اپلیکیشنها
MVVM بیشتر در فرانتاند، اما در SPA Backend هم کاربرد دارد
Hexagonal Architecture (Ports & Adapters) ساختار تمیز با جداسازی منطق داخلی و بیرونی
Clean Architecture استفاده زیاد در NestJS و پروژههای مدرن
Microservices جدا کردن سیستم به سرویسهای کوچک مستقل
Serverless اجرای فانکشنها به صورت جدا در سرویسهای ابری
CQRS (Command Query Responsibility Segregation) تفکیک عملیات خواندن و نوشتن
Event Sourcing ذخیرهی وضعیت با ثبت ایونتها به جای وضعیت نهایی
6-Module Pattern (CommonJS / ES Modules) الگوی ماژولار شدن در Node.js
Middleware Pattern در فریمورکهایی مثل Express، Koa، NestJS
Stream Pattern پردازش دادهها در جریان (مثلاً فایلهای حجیم)
Configuration Pattern مدیریت config در محیطهای مختلف