سلام دوستان در این پست قصد دارم خلاصه ای از دیزاین پترن های ایجادی بگم
قبل از شروع باید این نکته رو بگم که شما مجبور نیستید اول کار بخش کدنویسیش رو یاد بگیرید
با مفاهیمش آشنا بشید و هر جا که لازم شد استفاده کنید.
این نوع از دیزاین پترن ها جهت بهبود ایجاد یک یا چند نمونه (Instance) از شئ (Object) مورد نظر استفاده میشود.
سینگلتون به شما اطمینان میدهد از یک کلاس، تنها یک نمونه یا شی (Object) ساخته شود. بنابراین در هر زمان که استفاده از این کلاس نیاز شود، سینگلتون یک دسترسی سراسری به تنها شیای که از این کلاس ساخته شده است ایجاد میکند و اجازه ساخت شی جدیدی را از آن کلاس نمیدهد.
کاربرد: بعضی کلاس ها هست که فقط باید یک نمونه از اونا باشه مثل GameManager یا SoundManager دیزاین پترن Singleton این تضمین رو میده که فقط و فقط یک نمونه از آنها باشه.
به جای اینکه یک شئ رو یکجا بسازیم مرحله به مرحله بسازیم.
کاربرد: برای جا هایی به درد می خوره که شئ پیچیده دارید که لازمه تو چند مرحله ساخته بشه.
نوع اشیاء را با استفاده از Prototype(نمونه اولیه) نمونه مشخص کنید و اشیاء جدید را با کپی کردن این Prototype ایجاد می کند.به عبارت دیگر تسریع روند نمونه سازی و ایجاد اشیا با کپی سازی از نمونههای از پیش موجود.
به جای اینکه یک چیز رو دستی بسازیم یک کارخونه براش بسازیم تا ساختار پویایی داشته باشه!
کاربرد: فرض کنید قراره یک بازی داشته باشیم که دارای هزاران مرحله باشه
به جای اینکه مرحله ها رو دونه دونه بسازیم یک کارخونه براش می سازیم که یکسری پارامتر میگیره و برامون مرحله Generate می کنه. مثلاً به کارخونه پارامتر سختی ، سرعت رو میدیم و برامون یک مرحله تولید می کنه.
این الگو شباهت زیادی به الگوی Factory دارد، و در حقیقت همونه فقط با دیدی کلی تر!
به این الگو Factory of Factory هم میگن به این معنی که برای کارخونه هاتونم می تونید کارخونه بسازید!!!
کاربرد : جایی به درد می خوره کارخونتون بزرگ شده و می خواید بخش های مختلف براش داشته باشید
فرض کنید شما کارخونه شیر دارید.این کارخونه شیر مورد نیاز رو تولید می کنه
خب حالا فرض کنید از همین شیر می خواهیم محصولات دیگری بسازیم مثل شیرکاکائو ، شیر توت فرنگی و...
این ها درواقع مشتق شده از شیر هستند و می توان برای هرکدام یک Abstract Factory ساخت