الگوی طراحی چیست؟

تعداد بازدید: 594

الگوی طراحی چیست؟

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

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

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

تشبیه الگوریتم یک دستور العمل پخت و پز است: هر دو مراحل مشخصی برای رسیدن به یک هدف دارند. از طرف دیگر ، یک الگو بیشتر شبیه یک طرح اولیه است: شما می توانید ببینید که نتیجه و ویژگی های آن چیست ، اما ترتیب دقیق اجرای آن به شما بستگی دارد.

الگو از چه چیزی تشکیل شده است؟

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

هدف این الگو به طور خلاصه هم مسئله و هم راه حل را شرح می دهد.
انگیزه بیشتر مسئله و راه حل ممکن را برای الگو توضیح می دهد.
ساختار کلاسها در هر قسمت از الگو و نحوه ارتباط آنها را نشان می دهد.
مثال کد در یکی از زبانهای محبوب برنامه نویسی درک ایده پشت الگو را آسان می کند.
برخی از کاتالوگ های الگو ، سایر جزئیات مفید مانند کاربرد الگو ، مراحل پیاده سازی و روابط با الگوهای دیگر را ذکر می کنند.

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

1. خلاقانه 

2. ساختاری

3. رفتاری

خلاقانه (Creational)

در مهندسی نرم افزار ، الگوهای طراحی خلاقانه الگوهای طراحی هستند که با مکانیسم های ایجاد شی object سروکار دارند و سعی در ایجاد اشیا به روشی متناسب با شرایط دارند. شکل اصلی ایجاد شی می تواند منجر به مشکلات طراحی یا پیچیدگی بیشتری در طراحی شود. الگوهای طراحی خلاقانه با کنترل  ایجاد این شی ، این مشکل را حل می کنند.


1.1. Abstract Factory
1.2. Builder
1.3. Factory Method
1.4. Pool
1.5. Prototype
1.6. Simple Factory
1.7. Singleton
1.8. Static Factory

2. ساختاری (Structural)

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

2.1. Adapter / Wrapper
2.2. Bridge
2.3. Composite
2.4. Data Mapper
2.5. Decorator
2.6. Dependency Injection
2.7. Facade
2.8. Fluent Interface
2.9. Flyweight
2.10. Proxy
2.11. Registry

3. رفتاری (Behavioral)


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

3.1. Chain Of Responsibilities
3.2. Command
3.3. Iterator
3.4. Mediator
3.5. Memento
3.6. Null Object
3.7. Observer
3.8. Specification
3.9. State
3.10. Strategy
3.11. Template Method
3.12. Visitor

جهت کسب اطلاعات بیشتر به این سایت مراجعه کنید.

مطالب تصادفی

سید خلیل حسینی

کارشناس کامپیوتر، علاقه مند و فعال در حوزه برنامه نویسی و طراحی سایت
برنامه نویس بک اند پی اچ پی و لاراول 
برنامه نویس فرانت اند
پلاگین نویس و طراح صفحات وردپرس

blog-author-image