Milad Khajavi eeb76c0bce Merge pull request #2 from mrahimygk/patch-2 %!s(int64=3) %!d(string=hai) anos
..
AbstractFactory 0dfce5c0a4 add some new example. %!s(int64=10) %!d(string=hai) anos
Builder 5887f1092e Update README.md %!s(int64=7) %!d(string=hai) anos
FactoryMethod 03d453e1b4 Update Readme.md %!s(int64=7) %!d(string=hai) anos
Prototype eedd99affe Prototype's readme was updated (Use cases). %!s(int64=12) %!d(string=hai) anos
SimpleFactory 4477f3cc9e Alignment of readme was resolved. %!s(int64=12) %!d(string=hai) anos
Singleton ab5f46218f Singleton's readme was updated. (real examples) %!s(int64=12) %!d(string=hai) anos
README.md 8a1b195d49 Add Abstract Factory vs. Factory Method section %!s(int64=12) %!d(string=hai) anos

README.md

Creational Patterns

  • Abstract Factory: بدون مشخص کردن کلاس‌های کانکرت، واسطی برای ساخت خانواده‌ای از اشیاء وابسته یا مرتبط با یکدیگر فراهم می‌کند.

  • Builder: روند ساخت یک شیء پیچیده را از نمایش آن جدا می‌کند به طوری که یک روند ساخت مشترک می‌تواند برای ساخت انوع بازنمایی‌ها به کار گرفته شود.

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

  • Prototype: انواع اشیائی که باید ساخته شوند را با استفاده از یک نمونهٔ اولیه، مشخص می‌کند و اشیاء جدید را با کپی کردن این نمونهٔ اولیه تولید می‌کند.

  • Singleton: تضمین می‌کند که کلاس تنها یک نمونه داشته باشد و دسترسی سراسری برای آن فراهم می‌کند.

فرق بین Abstract Factory و Factory Method چیست؟

الگوی Abstract Factory

  • اجازهٔ تعریف خانواده‌ای از اشیاء را می‌دهد و پیاده‌سازی ساخت این اشیاء را از کارخواه مخفی می‌کند.
  • متدهای Abstract Factory همانند متد فکتوری پیاده‌سازی می‌شود.

الگوی Factory Method

  • اجازهٔ تعریف چگونگی ساخت یک نوع شیء را می‌دهد و پیاده‌سازی ساخت این شیء را از کارخواه مخفی می‌کند.
  • الگوی طراحی Factory Method نسخهٔ ساده‌شده‌ای از Abstract Factoryی‌ست.