چه زمانی ما باید از دیزاین پترن در جاوا استفاده کنیم؟
ما باید از دیزاین پترن ها برای تجزیه و تحلیل و مرحله مورد نیاز چرخه توسعه نرم افزار استفاده کنیم. الگوهای طراحی فاز تجزیه و تحلیل مورد نیاز SDLC را با ارائه اطلاعات بر اساس تجارب گذشته قبل آسان می کند.
طبقه بندی دیزاین پترن ها:
در جاوا، عمدتا سه نوع الگوهای طراحی وجود دارد که به بخش های زیر تقسیم می شوند:
انواع دیزاین پترن ها در جاوا
1. دیزاین پترن Creational در جاوا
این الگوهای طراحی، مربوط به نمونه سازی کلاس یا ایجاد شی است. این الگوها را می توان بیشتر به الگوهای کلاسی-کلاسیک و الگوهای خلاقیت-شکلی تقسیم کرد. در حالی که الگوهای ایجاد کلاس ها از روند ارزیابی به طور موثری در ارجاع استفاده می کنند، الگوهای طراحی شیء از کارکنان به طور موثری برای رسیدن به کار استفاده می کنند.الگوهای طراحي Creation شامل روش factory ,Singleton، Base Object و Prototype است.
اگر با شی یا مفاهیم شی گرایی آشنا نیستید پیشنهاد می کنم مقاله مفهوم شی گرایی را مطالعه کنید.
2. دیزاین پترن Structural در جاوا
این دیزاین پترن در مورد سازماندهی کلاس ها و اشیاء مختلف برای ساختن ساختارهای بزرگتر و ارائه قابلیت های قدرتمند تر و جدید تر، مورد استفاده قرار میگیرد.
3. دیزاین پترن Behavioral در جاوا
الگوهای رفتاری در مورد شناسایی الگوهای ارتباطی مشترک بین اشیاء و تحقق این الگوها هستند.
الگوهای رفتاری عبارتند از: Iterator، Memento، Object Null، Observer، State، Strategy، Template method، Visitor.
در ادامه برخی از این الگو ها را مورد بررسی قرار میدهیم:
4. دیزاین پترن الگوی کارخانه یا Factory Method
دیزاین پترن Factory Method ، اغلب با نام الگوی factory شناخته می شود یک الگوی طراحی به طور گسترده است که دستور ایجاد شی را صادر می کند.در این الگو، یک کلاس factory به عنوان کلاس پدر و مادر از تمام زیر کلاس ها متعلق به کلاس های مرتبط ایجاد می شود.درست مانند یک SessionFactory برای ایجاد، به روز رسانی، حذف و دستکاری تمام اجزای برنامه استفاده می شود، بنابراین هر کارخانه دیگری مسئول مجموعه ای از کلاس های کودک خود است.مهم است که توجه داشته باشید که زیر کلاس ها بدون استفاده از factory مربوطه قابل دسترسی نیستند. به این ترتیب، ایجاد آنها وابسته به کارخانه است.
5. دیزاین پترن Abstract Factory در جاوا
الگوی Abstract Factory یک دیزاین پترن کاربردی در جاوا است که بر اساس factory می باشد و به عنوان بالاترین factory سلسله مراتب عمل می کند. این نشان دهنده عمل ایجاد یک factory از factory ها می باشد.این الگوی مسئول ایجاد همه factory های دیگر به عنوان کلاس های زیرین است، دقیقا همانطور که factory ها مسئول ایجاد همه زیر کلاس های خود هستند.
6.دیزاین پترن Builder در جاوا
این دیزاین پترن در جاوا برای کمک به ساخت اشیاء نهایی برای کلاس هایی با مقدار زیادی از زمینه ها یا پارامترها به روش گام به گام استفاده می شود. این در کلاس های کوچک و ساده که چندین فیلد ندارند، بسیار مفید نیست، اما اشیاء پیچیده هر دو سخت برای خواندن و نگهداری توسط خودشان می باشند.
7.دیزاین پترن Prototype در جاوا
الگوی نمونه اولیه یک دیزاین پترن در جاوا است که عمدتا برای به حداقل رساندن هزینه ایجاد شی، معمولا زمانی که برنامه های کاربردی در مقیاس بزرگ ایجاد، به روز رسانی و یا بازیابی اشیاء که هزینه های زیادی را پرداخت می کنند مورد استفاده قرار میگیرد.
این کار با کپی کردن شیء پس از ایجاد آن و استفاده مجدد از کپی شیء در درخواست های بعدی انجام می شود، تا از اجرای یک عملیات دیگر استفاده شود. این به تصمیم توسعه گر بستگی دارد که آیا این یک کپی کامل است یا یک کپی جزئی از شی است، هرچند هدف یکسان است.
8.دیزاین پترن Singleton در جاوا
الگوی Singleton یک دیزاین پترن در جاوا است که تضمین می کند که تنها یک شی در یک JVM وجود دارد. این یک الگوی نسبتا ساده است و توانایی دسترسی به این شیء را حتی بدون اکتیو کردن آن فراهم می کند. الگوهای طراحی دیگر از این الگو استفاده می کنند.
9.دیزاین پترن Adapter در جاوا
الگوی آداپتور، یک دیزاین پترن در جاوا است که همانطور که از نامش بر می آید، یک رابط را به دیگری متصل می کند. این عمل به عنوان یک پل بین دو رابط بدون ارتباط و گاهی کاملا ناسازگار، مشابه با نحوه اسکنر به عنوان پل برای یک کامپیوتر عمل می کند.یک رایانه نمی تواند یک مقاله را به عنوان یک PDF ذخیره کند، اما یک اسکنر که قابلیت های هر دو را ترکیب می کند، می تواند آن را اسکن کند و اجازه دهد کامپیوتر آن را ذخیره کند.
10.دیزاین پترن Bridge در جاوا
الگوی پل یک دیزاین پترن در جاوا است که برای جدا کردن کلاسهای انتزاعی از پیاده سازی آنها استفاده می شود و به عنوان پل بین آنها عمل می کند. به این ترتیب، هر دو کلاس انتزاعی و پیاده سازی می توانند بدون تغییر در ساختار دیگری تغییر کنند.
11.دیزاین پترن Filter در جاوا
الگوی فیلتر یک دیزاین پترن در جاوا است که هنگامی استفاده می شود که ما نیاز به یک روش برای فیلتر کردن از طریق مجموعه ای از اشیاء داریم که با معیار های مختلف سفارشی، ما می توانیم معیارهای یک فیلتر باریکتر را که به صورت جداگانه انجام می شود، زنجیره سازی کنیم.
12.دیزاین پترن Composite در جاوا
الگوی کامپوزیت یک دیزاین پترن در جاوا است که زمانی استفاده می شود که ما نیاز به یک روش برای رفع مشکل یک گروه کامل از اشیا را در یک روش مشابه و یا همان روش داریم.این روش معمولا توسط کلاس انجام می شود که دارای گروهی از اشیاء است و مجموعه ای از روش ها را برای مقابله با آنها به صورت یکسان فراهم می کند.
13.دیزاین پترن Decorator در جاوا
الگوی Decorator یک دیزاین پترن مهم در زبان جاوا است که برای تغییر یک نمونه از یک کلاس در زمان اجرا استفاده می شود، با ایجاد یک کلاس Decorator که کلاس اصلی را خلق می کند.
به این ترتیب، تغییر یا اضافه کردن ویژگی های شیء Decorator بر ساختار یا ویژگی های شی اصلی اثر نخواهد گذاشت. این از وراثت کلاسیک در واقعیتی که در زمان اجرا انجام می شود، متفاوت است و تنها به یک نمونه خاصی اعمال می شود، در حالیکه ارث بری در تمام موارد تاثیر می گذارد و در زمان کامپایل انجام می شود.
14.دیزاین پترن Facade در جاوا
الگوی نمایه یک دیزاین پترن در جاوا است که رابط کاربری ساده و سطح بالا را برای مشتری فراهم می کند و اجازه می دهد تا آن را برای دسترسی به سیستم بدون دانستن هر یک از منطق سیستم استفاده کنیم.
15.دیزاین پترن Flyweight در جاوا
الگوی Flyweight یک دیزاین پترن در جاوا است که مربوط به کاهش فشار در JVM و حافظه آن است. این روش برای دستگاه های بدون حافظه زیاد و همچنین بهینه سازی برنامه بسیار مهم است.
هنگامی که یک برنامه خاص نیاز به ایجاد نمونه های بسیاری از همان کلاس داشته باشد، یک فیلد مشترک ایجاد می شود تا بتوان آن ها را به طور همزمان استفاده کرد.
شناخته شده ترین اجزای این الگوی طراحی String Pool در جاوا است. رشته ها شاید بیشتر از هر شی دیگری در زبان استفاده می شود و در نتیجه، با ایجاد یک فیلد از رشته های مشترک. بخش بزرگی از منابع را مصرف می کنند.
16.دیزاین پترن Proxy در جاوا
الگوی پروکسی در زمانی استفاده می شود که ما می خواهیم قابلیت ها و ویژگی های یک کلاس را محدود کنیم، با استفاده از کلاس دیگری که آن را محدود می کند.
با استفاده از این کلاس پروکسی، مشتری یک رابط کاربری تعریف می کند، برای دسترسی به کلاس اصلی، این روش تضمین می کند که مشتری نمی تواند با شرایط کلاس اصلی کاری انجام دهد، زیرا همه درخواست هایش از طریق کلاس پروکسی ما عبور می کنند.
17.دیزاین پترن Interpreter در جاوا
الگوی Interpreter در هر زمان مورد استفاده است که ما نیاز به ارزیابی هر گونه دستور زبان یا عبارات زبان داریم. مثال خوبی از این الگوی می تواند گوگل ترنسلیت باشد که ورودی را تفسیر می کند و خروجی را به زبان دیگر نشان می دهد. مثال دیگر کامپایلر جاوا خواهد بود. کامپایلر کد جاوا را تفسیر و آن را به کد مورد استفاده تبدیل می کند که JVM برای انجام عملیات بر روی دستگاهی که در آن اجرا می شود، استفاده می شود. این الگو همچنین یک راه عالی برای نوشتن برنامه های ساده است به نحوی که انسان آن را درک می کنند.
18.دیزاین پترن Template Method در جاوا
روش Template Method ، به عنوان الگویی شناخته شده است که ما زیاد با آن سر و کار داریم. این یک روش تعریف کلاس انتزاعی است که راه های پیشین برای اجرای روش های آن را فراهم می کند. زیر کلاس هایی که این روش ها را به ارث می برند نیز باید از روش تعریف شده در کلاس انتزاعی پیروی کنند.
در برخی موارد، کلاس انتزاعی ممکن است شامل اجرای یک روش، نه فقط دستورالعمل باشد، این قابلیتی است که در میان تمام یا بیشتر از زیر کلاسها به اشتراک گذاشته خواهد شد.
یک دوره رایگان و فوق کاربردی را برایتان تهیه کرده ایم تا شما را در مسیر برنامه نویس حرفه ای در جاوا، هدایت کرده باشیم، دوره آموزش جاوا هیچ تفاوتی با دوره های پولی درسمن ندارد و بسیار جامع و کاربردی بیان شده است.
نظر شما در تصمیم دیگران اثرگذار است.
لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.