دانلود کتاب Design patterns : elements of reusable object-oriented software
by Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides
|
عنوان فارسی: الگوهای طراحی: عناصر نرم افزار شی گرا قابل استفاده مجدد |
دانلود کتاب
جزییات کتاب
در سال 1994، چهار نویسنده به نام های Erich Gamma، Richard Helm، Ralph Johnson و John Vlissides کتابی با عنوان “الگوهای طراحی: عناصر دوباره قابل استفاده نرمافزار شیءگرا” (Design Patterns – Elements of Reusable Object-Oriented Software) منتشر کردند که به تفسیر مفهوم الگوهای طراحی در توسعه نرم افزار می پرداخت. این نویسندگان در مجموع به عنوان (Gang of Four (GOF شناخته می شوند. با توجه به این نویسندگان، الگوهای طراحی عمدتا بر اساس اصول طراحی شیء گرا هستند.
الگوهای طراحی بهترین شیوه هایی را نشان می دهد که توسعه دهندگان نرم افزار شی گرا از آنها استفاده می کنند. الگوهای طراحی راه حل مشکلات عمومی است که توسعه دهندگان نرم افزار در طول توسعه نرم افزار با آن روبرو می شوند. این راه حل ها با آزمایش و خطا توسط توسعه دهندگان نرم افزاری متعدد طی یک مدت زمان قابل توجهی به دست می آید.
الگوهای طراحی چیست؟
الگوهای طراحی راه حل های قابل استفاده مجدد برای توسعه نرم افزار است. آنها به عنوان قالب هایی هستند که برنامه نویسان می توانند هنگام ایجاد برنامه ها و اپلیکیشن ها استفاده کنند. آنها مخصوص زبان های برنامه نویسی خاصی نیستند، بلکه به جای آن بهترین شیوه هایی هستند که می توانند در محیط برنامه نویسی مختلف مورد استفاده قرار گیرند.
در حالی که الگوهای طراحی وابسته به زبان نیستند، اغلب شامل آبجکت ها یا کلاس ها می شوند. بنابراین، آنها معمولا با برنامه نویسی شی گرا ارتباط دارند. الگوهای فردی را می توان به سه دسته تقسیم کرد:
1) الگوهای خلاقیت،
2) الگوهای ساختاری
3) الگوهای رفتاری.
الگوهای خلاقیت
الگوهای طراحی خلاقیت روش هایی را برای ایجاد آبجکت ها با استفاده از روش هایی که برای شرایط مختلف مناسب است توصیف می کنند.
الگوهای ساختاری
الگوهای طراحی ساختاری ، روابط بین اشیا را تعریف می کنند.
الگوهای رفتاری
الگوهای طراحی رفتاری، رفتار آبجکت ها را، مانند نحوه ارتباط آنها با یکدیگر، توصیف می کنند.
هر کدام از این سه دسته شامل چندین الگو طراحی دیگر نیز می شوند که برنامه نویسان می توانند از آنها استفاده کنند. در حالیکه الگوهای طراحی، قالب های کارآمدی را در اختیار توسعه دهندگان نرم افزار قرار داده است، گاهی اوقات به دلیل غیر ضروری بودن یا به اندازه کافی مناسب برنامه های خاصی نبودن، مورد انتقاد قرار می گیرند. بنابراین، در حالی که الگوهای طراحی ابزارهای مفید برای برنامه نویسی هستند، لازم نیست دقیقا به دنبال ایجاد یک برنامه نرم افزاری که به خوبی طراحی شده باشیم.