Seyed Morteza Kamali
Seyed Morteza Kamali
خواندن ۳ دقیقه·۵ سال پیش

دیزاین پترن های ایجادی

سلام دوستان در این پست قصد دارم خلاصه ای از دیزاین پترن های ایجادی بگم

قبل از شروع باید این نکته رو بگم که شما مجبور نیستید اول کار بخش کدنویسیش رو یاد بگیرید

با مفاهیمش آشنا بشید و هر جا که لازم شد استفاده کنید.

دیزاین پترن های ایجادی

این نوع از دیزاین پترن ها جهت بهبود ایجاد یک یا چند نمونه (Instance) از شئ (Object) مورد نظر استفاده میشود.

دیزاین پترن Singleton

سینگلتون به شما اطمینان می‌دهد از یک کلاس، تنها یک نمونه یا شی (Object) ساخته شود. بنابراین در هر زمان که استفاده از این کلاس نیاز شود، سینگلتون یک دسترسی سراسری به تنها شی‌ای که از این کلاس ساخته شده است ایجاد می‌کند و اجازه ساخت شی جدیدی را از آن کلاس نمی‌دهد.

کاربرد: بعضی کلاس ها هست که فقط باید یک نمونه از اونا باشه مثل GameManager یا SoundManager دیزاین پترن Singleton این تضمین رو میده که فقط و فقط یک نمونه از آنها باشه.

دیزاین پترن Builder

به جای اینکه یک شئ رو یکجا بسازیم مرحله به مرحله بسازیم.

کاربرد: برای جا هایی به درد می خوره که شئ پیچیده دارید که لازمه تو چند مرحله ساخته بشه.


دیزاین پترن Prototype


نوع اشیاء را با استفاده از Prototype(نمونه اولیه) نمونه مشخص کنید و اشیاء جدید را با کپی کردن این Prototype ایجاد می کند.به عبارت دیگر تسریع روند نمونه سازی و ایجاد اشیا با کپی سازی از نمونه‌های از پیش موجود.

دیزاین پترن Factory

به جای اینکه یک چیز رو دستی بسازیم یک کارخونه براش بسازیم تا ساختار پویایی داشته باشه!

کاربرد: فرض کنید قراره یک بازی داشته باشیم که دارای هزاران مرحله باشه

Asteroids game (Atari 1979)
Asteroids game (Atari 1979)

به جای اینکه مرحله ها رو دونه دونه بسازیم یک کارخونه براش می سازیم که یکسری پارامتر میگیره و برامون مرحله Generate می کنه. مثلاً به کارخونه پارامتر سختی ، سرعت رو میدیم و برامون یک مرحله تولید می کنه.

دیزاین پترن Abstract Factory

این الگو شباهت زیادی به الگوی Factory دارد، و در حقیقت همونه فقط با دیدی کلی تر!

به این الگو Factory of Factory هم میگن به این معنی که برای کارخونه هاتونم می تونید کارخونه بسازید!!!

کاربرد : جایی به درد می خوره کارخونتون بزرگ شده و می خواید بخش های مختلف براش داشته باشید

فرض کنید شما کارخونه شیر دارید.این کارخونه شیر مورد نیاز رو تولید می کنه

خب حالا فرض کنید از همین شیر می خواهیم محصولات دیگری بسازیم مثل شیرکاکائو ، شیر توت فرنگی و...

این ها درواقع مشتق شده از شیر هستند و می توان برای هرکدام یک Abstract Factory ساخت



دیزاین پترنبرنامه نویسیdesignpatterns
شاید از این پست‌ها خوشتان بیاید