بخش های اصلی

آموزش الگوهای طراحی

بررسی اجمالی Design Pattern

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

باند چهار نفره (GOF)، چیه؟

در سال 1994، چهار نویسنده به نام های اریش گاما، ریچارد هلم، رالف جانسون و جان ولیسیدز، کتابی به نام "الگوهای طراحی – عناصرِ قابل استفاده ی مجددِ نرم افزار مبتنی بر شیء" را منتشر کردن که مفهوم الگوی طراحی را در توسعه ی نرم افزار به وجود آورد.
این نویسنده ها با عنوان باند چهار نفره (GOF) شناخته میشن. اساس الگوهای طراحی این چهار نویسنده در درجه ی اول مبتنی بر اصول طراحی مبتنی بر شی زیره.

  • برنامه دادن به یک رابط، نه پیاده سازی.
  • ترکیب اشیاء مورد نظر با وراثت.

استفاده از الگوی طراحی

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

پلت فرم عمومی برای توسعه دهندگان

الگوهای طراحی، اصطلاحی استاندارد ایجاد کردن و به سناریوی مخصوصی تخصیص داده شدن. مثلاً، نشانه های الگوی طراحیِ یگانه، از یک شیءِ واحد استفاده می کنن، بنابراین تمام توسعه دهنده ها با الگوی طراحیِ یگانه آشنا هستن که از یک شیءِ واحد استفاده می کنه و به هم دیگه اطلاع می دن که آن برنامه از الگویی یگانه، استفاده می کنه.

بهترین کاربردها

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

انواع الگوهای طراحی

برطبق کتاب الگوی طراحی مرجع، " الگوهای طراحی – عناصرِ قابل استفاده ی مجددِ نرم افزار مبتنی بر شیء"، 23 الگوی طراحی وجود داره که به سه دسته تقسیم میشن: الگوهای تکوینی (Creational)، الگوهای ساختاری (Structural) و الگوهای رفتاری (Behavioral). راجع به گروهی دیگر از الگوهای طراحی به نام الگوهای طراحیِ J2EE، نیز بعدا توضیح خواهیم داد.



در صورتی که سوال و یا نظری دارید، از بخش نظرات با ما در میان بگذارید.

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

شما چه نظر و یا سوالی درباره این نوشته دارید؟

مبحث آموزشی

آموزش الگوهای طراحی

Learn Design Patterns

سرفصل ها

پرســیدن سؤال جدید

سؤال های تخصصی خود را از ما بپرسید

تبلیغات

دنبال کردن تلگرام کانال سافت اسکیل

https://telegram.me/softskill_ir

عملیات کاربران

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد