لگوی طراحی چیست؟
الگوهای طراحی(دیزاین پترن) راه حل های معمول برای مشکلات معمول در طراحی نرم افزار است. آنها مانند نقشه های از پیش ساخته شده ای هستند که می توانید آنها را برای حل مشکلات طراحی تکراری در کد خود سفارشی کنید.
اصولا نمی شود یک الگو را پیدا کنید و آن را در برنامه خود کپی کنید ، همانطور که نمی توانید از library ها (کتابخانه ها) به این کل استفاده کنید. الگو کد خاصی نیست ، بلکه یک مفهوم کلی برای حل یک مسئله خاص است. می توانید جزئیات الگو را بررسی کنید و راه حلی را متناسب با واقعیت برنامه خود اجرا کنید.
الگوها اغلب با الگوریتم ها اشتباه گرفته می شوند ، زیرا هر دو مفهوم راه حل های معمول برخی از مشکلات شناخته شده را توصیف می کنند. در حالی که یک الگوریتم همیشه مجموعه مشخصی از اقدامات را تعریف می کند که می تواند به هدفی برسد ، در صورتیکه الگو ها در سطح بالاتر قرار دارند. کد یک الگوی اعمال شده برای دو برنامه مختلف ممکن است متفاوت باشد.
در تشبیه به الگوریتم مثل یک دستور العمل پخت و پز است: هر دو مراحل مشخصی برای رسیدن به یک هدف دارند. از طرف دیگر ، یک الگوی بیشتر شبیه یک طرح اولیه است: شما می توانید ببینید که نتیجه و ویژگی های آن چیست ، اما ترتیب دقیق اجرای آن به شما بستگی دارد.
الگو(پترن) از چه چیزی تشکیل شده است؟
بیشتر الگوها بسیار رسمی توصیف می شوند ، بنابراین افراد می توانند آنها را درمفاهیم مختلف تفسیر کنند.
موارد زیر بخشهایی هستند که در تعریف یک الگو معمولا وجود دارند:
هدف ابطور خلاصه توضیحاتی در مورد هدف الگو داده می شود
کاربرد هم مسئله و راه حل ممکن را برای الگو توضیح می دهد.
ساختار وضعیت کلاسها و هر قسمت از الگو و نحوه ارتباط آنها را نشان می دهد.
کد سمپل ارائه کد مثال در یکی از زبانهای برنامه نویسی درک الگو را ساده تر می کند
الگوهای طراحی جزو معماریهای نرم افزاری نیستند و فقط شیوه ای صحیح از کدنویسی شی گرا را ارائه میدهند. بنابراین این الگوها فقط در قلمرو کدنویسی شی گرا وارد میشوند و مستقل از زبانهای برنامه نویسی هستند.
در پستهای بعدی در مورد تاریخچه، دسته بندی و توضیح هر کدام از الگوها خواهیم نوشت.