CodeGym /وبلاگ جاوا /Random-FA /الگوهای طراحی در جاوا [بخش اول]
John Squirrels
مرحله
San Francisco

الگوهای طراحی در جاوا [بخش اول]

در گروه منتشر شد
این یک مقاله کوتاه در مورد الگوهای طراحی در جاوا است. هیچ گونه پیاده سازی الگوی وجود نخواهد داشت، فقط فهرستی از الگوها در جاوا همراه با توضیح مختصری از هر کدام. برای کسانی که قبلاً با این موضوع آشنا هستند، این به عنوان یک بررسی و خلاصه مفید خواهد بود. برعکس، کسانی که برای اولین بار در مورد الگوها یاد می‌گیرند، قبل از کاوش عمیق‌تر، از این به عنوان یک مرور اولیه از موضوع بهره‌مند می‌شوند. الگوهای طراحی در جاوا [بخش 1] - 1 الگوهای طراحی راه حل های آماده برای استفاده برای کارهای برنامه نویسی مکرر هستند. این یک کلاس یا کتابخانه نیست که بتوان به یک پروژه متصل شد. این چیزی بیشتر است. الگوهای طراحی مناسب برای هر کار در هر مورد خاص اجرا می شود. باید به خاطر داشته باشید که وقتی به اشتباه یا برای یک کار نامناسب اعمال می شود، یک الگوی طراحی می تواند مشکلات زیادی ایجاد کند. با این حال، یک الگوی به درستی اعمال شده می تواند به شما کمک کند وظایف را به راحتی و به سادگی انجام دهید.

انواع الگوها:

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

خلاقیت:

  • Singleton - ایجاد یک کلاس را به یک نمونه محدود می کند و دسترسی به آن نمونه واحد را فراهم می کند.

  • Factory - زمانی استفاده می شود که یک سوپرکلاس با چندین زیر کلاس داریم و باید یک زیر کلاس را بر اساس ورودی برگردانیم.

  • کارخانه انتزاعی - از یک کارخانه فوق العاده برای ایجاد کارخانه ها استفاده می کند که سپس از آن برای ایجاد اشیا استفاده می کنیم.

  • سازنده - برای ایجاد اشیاء پیچیده با استفاده از اشیاء ساده استفاده می شود. به تدریج از یک جسم کوچک و ساده یک شی بزرگ ایجاد می کند.

  • نمونه اولیه - به بهبود عملکرد هنگام ایجاد اشیاء تکراری کمک می کند. به جای ایجاد یک شی جدید، یک کلون از یک شی موجود را ایجاد و برمی گرداند.

ساختاری:

  • آداپتور - مبدل بین دو شی ناسازگار. می توانیم از الگوی آداپتور برای ترکیب دو رابط ناسازگار استفاده کنیم.

  • ترکیبی - از یک کلاس برای نمایش یک ساختار درختی استفاده می کند.

  • Proxy - عملکرد یک کلاس دیگر را ارائه می دهد.

  • Flyweight - به جای ایجاد تعداد زیادی از اشیاء مشابه، از اشیا دوباره استفاده می کند.

  • نما - یک رابط ساده برای یک کلاینت فراهم می کند که از رابط برای تعامل با سیستم استفاده می کند.

  • Bridge - کلاس های خاصی را از کلاس هایی که یک رابط را پیاده سازی می کنند مستقل می کند.

  • دکوراتور - عملکرد جدیدی را به یک شی موجود بدون گره زدن به ساختار آن اضافه می کند.

رفتاری:

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

  • Mediator - یک کلاس واسطه را فراهم می کند که تمام ارتباطات بین کلاس های مختلف را مدیریت می کند.

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

  • مشاهده‌گر - به یک شی اجازه می‌دهد تا رویدادهایی را که در اشیاء دیگر اتفاق می‌افتد نظارت کرده و به آنها پاسخ دهد.

  • استراتژی - اجازه می دهد تا استراتژی ها (الگوریتم ها) در زمان اجرا تغییر کنند.

  • فرمان - رابطی که روشی را برای انجام یک عمل خاص اعلام می کند.

  • حالت - به یک شی اجازه می دهد تا رفتار خود را بسته به حالتش تغییر دهد.

  • بازدید کننده - برای ساده کردن عملیات بر روی گروه هایی از اشیاء مرتبط استفاده می شود.

  • مترجم - یک گرامر برای یک زبان ساده در حوزه مشکل تعریف می کند.

  • Iterator - به طور متوالی به عناصر یک مجموعه بدون اطلاع از شکل زیرین آن دسترسی پیدا می کند.

  • Memento - برای ذخیره وضعیت یک شی استفاده می شود. این حالت بعدا قابل بازیابی است.

همانطور که دوره CodeGym را طی می کنید، با چند الگو در این لیست مواجه خواهید شد. من کارهای زیر را در مورد الگوها توصیه می کنم: 1522 , 1530 , 1631 , big01 , 2912 , 3107 ... استفاده عاقلانه از الگوهای طراحی منجر به نگهداری کد قابل اعتمادتر می شود، زیرا علاوه بر این که الگوهای طراحی راه حل های خوبی برای مشکلات رایج هستند. ، سایر توسعه دهندگان می توانند آنها را تشخیص دهند و زمان مورد نیاز برای کار با کدهای خاص را کاهش دهند.
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION