رفتن به محتوای اصلی

برچسب: طراحی نرم‌افزار

Prototype Pattern؛ کپی هوشمند به‌جای ساخت دوباره

Prototype Pattern؛ کپی هوشمند به‌جای ساخت دوباره

Prototype Pattern یکی از Creational Patternهاست که به جای ساخت نمونه‌های جدید از ابتدا، از یک نمونه موجود به عنوان نقطه شروع استفاده می‌کند. در این مقاله با TypeScript بررسی می‌کنیم Prototype چه مشکلی را حل می‌کند، Shallow Copy و Deep Copy چه تفاوتی دارند و چه زمانی Clone کردن انتخاب مناسبی است.

علی
علی صفری
۱۱ دقیقه مطالعه
Builder Pattern؛ راه تمیزتر برای ساخت مدل‌های پیچیده

Builder Pattern؛ راه تمیزتر برای ساخت مدل‌های پیچیده

Builder Pattern یکی از Creational Patternهاست که فرآیند ساخت مدل‌های پیچیده را به مراحل کوچک‌تر و قابل‌کنترل تقسیم می‌کند. در این مقاله با TypeScript بررسی می‌کنیم Builder چه مشکلی را حل می‌کند، چه تفاوتی با Constructor و Options Object دارد و چه زمانی استفاده از آن انتخاب مناسبی است.

علی
علی صفری
۱۱ دقیقه مطالعه
Abstract Factory Pattern؛ وقتی آبجکت‌ها باید با هم سازگار باشند

Abstract Factory Pattern؛ وقتی آبجکت‌ها باید با هم سازگار باشند

Abstract Factory Pattern یکی از Creational Patternهاست که برای ساخت مجموعه‌ای از آبجکت‌های مرتبط و سازگار استفاده می‌شود. در این مقاله با TypeScript و یک مثال واقعی از سیستم پرداخت بررسی می‌کنیم Abstract Factory چه مشکلی را حل می‌کند، Product Family چیست و چه تفاوتی با Factory Method دارد.

علی
علی صفری
۱۱ دقیقه مطالعه
Factory Method Pattern؛ ساخت آبجکت‌ها را به چه کسی بسپاریم؟

Factory Method Pattern؛ ساخت آبجکت‌ها را به چه کسی بسپاریم؟

Factory Method Pattern یکی از Creational Patternهاست که مسئولیت ساخت Objectها را از منطق اصلی برنامه جدا می‌کند. در این مقاله با مثال‌های واقعی و TypeScript بررسی می‌کنیم Factory Method چه مشکلی را حل می‌کند، چه تفاوتی با Simple Factory دارد و چه زمانی استفاده از آن انتخاب مناسبی است.

علی
علی صفری
۸ دقیقه مطالعه
Singleton Pattern چرا گاهی فقط باید یک نمونه از یک کلاس وجود داشته باشد؟

Singleton Pattern چرا گاهی فقط باید یک نمونه از یک کلاس وجود داشته باشد؟

Singleton Pattern یکی از شناخته‌شده‌ترین Design Patternهای خانواده Creational است که تضمین می‌کند در طول اجرای برنامه فقط یک نمونه از یک کلاس ایجاد شود. در این مقاله با مسئله‌ای که Singleton حل می‌کند، نحوه پیاده‌سازی آن در TypeScript، مزایا، معایب، کاربردهای واقعی و زمان مناسب استفاده از آن آشنا می‌شویم.

علی
علی صفری
۱۶ دقیقه مطالعه
Creational Patternها چیستند و چه مشکلاتی را حل می‌کنند؟

Creational Patternها چیستند و چه مشکلاتی را حل می‌کنند؟

Creational Patternها اولین خانواده از Design Patternهای کلاسیک هستند و روی نحوه ایجاد و مدیریت objectها تمرکز دارند. در این مقاله بررسی می‌کنیم این دسته از Patternها چه مشکلاتی را حل می‌کنند، چه اعضایی دارند و چه زمانی باید از آن‌ها استفاده کرد.

علی
علی صفری
۵ دقیقه مطالعه
دسته‌بندی Design Patternها؛ تفاوت Creational، Structural و Behavioral Patterns چیست؟

دسته‌بندی Design Patternها؛ تفاوت Creational، Structural و Behavioral Patterns چیست؟

همه Design Patternها برای یک نوع مسئله طراحی نشده‌اند. در این مقاله با سه دسته اصلی Design Patternها یعنی Creational، Structural و Behavioral آشنا می‌شویم، تفاوت آن‌ها را بررسی می‌کنیم و یاد می‌گیریم هر کدام چه نوع مشکلی را در طراحی نرم‌افزار حل می‌کنند.

علی
علی صفری
۵ دقیقه مطالعه
تاریخچه دیزاین پترن ها؛ از معماری تا دنیای نرم افزار

تاریخچه دیزاین پترن ها؛ از معماری تا دنیای نرم افزار

در این مقاله تاریخچه دیزاین پترن‌ها را بررسی می‌کنیم؛ از ایده Pattern در معماری تا کتاب Gang of Four و تأثیر آن بر طراحی نرم‌افزار.

علی
علی صفری
۸ دقیقه مطالعه
دیزاین پترن‌ها از صفر تا کاربرد در پروژه‌های واقعی

دیزاین پترن‌ها از صفر تا کاربرد در پروژه‌های واقعی

در این مقاله با مفهوم دیزاین پترن‌ها، اهمیت یادگیری Design Pattern و مسیر سری رادیو اسکریپت از مفاهیم پایه تا کاربرد در پروژه‌های واقعی آشنا می‌شویم.

علی
علی صفری
۶ دقیقه مطالعه