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