آموزش الگوی طراحی در برنامه نویسی شی گرا در پایتون

3 سال پیش
آموزش الگوی طراحی در برنامه نویسی شی گرا در پایتون

آموزش الگوی طراحی در برنامه نویسی شی گرا در پایتون

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش الگوی طراحی در برنامه نویسی شی گرا در پایتون خواهیم پرداخت.

پیشنهاد ویژه : پکیج آموزش پروژه محور پایتون

بررسی اجمالی الگوی طراحی پایتون

توسعه نرم افزار مدرن باید نیازهای تجاری پیچیده را برطرف کند. همچنین باید عواملی مانند توسعه پذیری و قابلیت نگهداری در آینده را در نظر بگیرد. طراحی خوب یک سیستم نرم افزاری برای تحقق این اهداف حیاتی است. الگوهای طراحی نقش مهمی در چنین سیستم هایی ایفا می کنند.

برای درک الگوی طراحی ، مثال زیر را در نظر بگیرید –

طراحی هر خودرو از یک الگوی اصلی طراحی، چهار چرخ، فرمان، سیستم محرک اصلی مانند شتاب دهنده-کلاچ و غیره پیروی می کند.

بنابراین، همه چیزهایی که به طور مکرر ساخته می شوند/ تولید می شوند، ناگزیر باید از الگویی در طراحی خود پیروی کنند: اتومبیل، دوچرخه، پیتزا، دستگاه های اتمسفر، هر چیزی … حتی تخت خواب و مبل شما.

طرح هایی که تقریباً به روش استانداردی برای کدگذاری منطق/مکانیسم/تکنیک در نرم افزار تبدیل شده اند، از این رو به عنوان الگوهای طراحی نرم افزار شناخته می شوند یا مورد مطالعه قرار می گیرند.

چرا الگوی طراحی مهم است؟

مزایای استفاده از الگوهای طراحی عبارتند از –

  • به شما کمک می کند تا مشکلات معمول طراحی را از طریق یک رویکرد اثبات شده حل کنید.
  • هیچ ابهامی در درک وجود ندارد زیرا آنها به خوبی مستند شده اند.
  • زمان توسعه کلی را کاهش دهید.
  • به شما کمک می کند تا با افزونه ها و تغییرات آینده با سهولت بیشتری نسبت به موارد دیگر برخورد کنید.
  • ممکن است خطاها را در سیستم کاهش دهد زیرا آنها راه حل های اثبات شده برای مشکلات رایج هستند.

طبقه بندی الگوهای طراحی در پایتون

الگوهای طراحی GoF (باند چهار) به سه دسته خلاقیت، ساختاری و رفتاری طبقه بندی می شوند.

الگوهای خلاقیت

الگوهای طراحی خلاقانه منطق ایجاد شی را از بقیه سیستم جدا می کند. به جای ایجاد اشیاء ، الگوهای خلاقانه آنها را برای شما ایجاد می کند. الگوهای ایجاد شامل Abstract Factory ، Builder ، Factory Method ، Prototype و Singleton است.

الگوهای خلاقیت به دلیل پویایی زبان معمولاً در پایتون استفاده نمی شود. همچنین خود زبان همه انعطاف پذیری لازم را برای ایجاد شیک و زیبا در اختیار ما قرار می دهد ، ما به ندرت نیاز داریم که چیزی را در بالا پیاده سازی کنیم ، مانند تک نفره یا کارخانه.

همچنین این الگوها راهی برای ایجاد اشیاء در حالی که منطق ایجاد را پنهان می کنند ، ارائه می دهند نه اینکه به طور مستقیم اشیاء را با استفاده از یک اپراتور جدید مثال بزنیم.

الگوهای ساختاری

گاهی اوقات به جای شروع از ابتدا ، باید با استفاده از مجموعه ای از کلاسهای موجود، سازه های بزرگتری بسازید. اینجاست که الگوهای کلاس ساختاری از ارث برای ساختن یک ساختار جدید استفاده می کنند. الگوهای شیء ساختاری از ترکیب/ تجمع برای به دست آوردن یک عملکرد جدید استفاده می کنند. آداپتور، پل، کامپوزیت، دکوراتور، نما، Flyweight و Proxy الگوهای ساختاری هستند. آنها بهترین روشها را برای سازماندهی سلسله مراتب کلاس ارائه می دهند.

الگوهای رفتاری

الگوهای رفتاری بهترین روش ها برای مدیریت ارتباط بین اشیا را ارائه می دهد. الگوها تحت این دسته بندی قرار می گیرند:

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

معمول ترین الگوهای طراحی پایتون

سینگلتون

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

الگوی Singleton برای موارد زیر استفاده می شود:

  • هنگامی که ورود به سیستم باید اجرا شود. نمونه لاگر توسط همه اجزای سیستم به اشتراک گذاشته می شود.
  • فایلهای پیکربندی از این مورد استفاده می کنند زیرا ذخیره اطلاعات باید توسط همه اجزای مختلف سیستم حفظ و به اشتراک گذاشته شود.
  • مدیریت اتصال به پایگاه داده

در اینجا نمودار UML است ،

UML Diagram

class Logger(object):
   def __new__(cls, *args, **kwargs):
      if not hasattr(cls, '_logger'):
      cls._logger = super(Logger, cls).__new__(cls, *args, **kwargs)
return cls._logger

 

وقتی __new__ فراخوانی می شود، معمولاً نمونه جدیدی از آن کلاس را ایجاد می کند. وقتی آن را نادیده می گیریم، ابتدا بررسی می کنیم که نمونه تک نفره ما ایجاد شده است یا خیر. اگر نه، ما آن را با استفاده فراخوانی super  ایجاد می کنیم. بنابراین، هر زمان که سازنده را در Logger فراخوانی می کنیم، همیشه یک نمونه دقیق را دریافت می کنیم.

 

منبع.

 

لیست جلسات آموزش برنامه نویسی شی گرا در پایتون

  1. آموزش برنامه نویسی شی گرا در پایتون
  2. آموزش مقدماتی برنامه نویسی شی گرا در پایتون
  3. آموزش راه اندازی محیط برنامه نویسی شی گرا در پایتون
  4. آموزش ساختار داده برنامه نویسی شی گرا در پایتون
  5. آموزش بلوک ها در برنامه نویسی شی گرا در پایتون
  6. آموزش میانبرها در برنامه نویسی شی گرا در پایتون
  7. آموزش وراثت و چند شکلی در برنامه نویسی شی گرا در پایتون
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه