خواندن این پست 2 دقیقه وقت میگیره.

تصمیم گرفتم در مورد الگوهای طراحی(Design patterns) حرف بزنم و کم‌کم شروع کنم یکی‌یکی بررسی‌شان کنم.
یکی از مهم‌ترین مواردی که ما برنامه‌نویس‌ها باید بدانیم الگوهای طراحی هست. البته قبلش باید با مفاهیم برنامه‌نویسی شی‌ء گرا به خوبی آشنا باشیم.

 


الگوهای طراحی چی هستند و چرا باید یادشون بگیریم و ازشون استفاده کنیم؟



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

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

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

Creational Patterns

        Abstract Factory
        Prototype
        Factory Method
        Builder
        Singleton



Structural Patterns

        Decorator
        Adapter
        Facade
        Proxy
        Bridge
        Flyweight
        Composite



Behavioral Patterns

        Observer
        Chain Of Responsibility
        Interpreter
        State
        Command
        Mediator
        Template Method
        Memento
        Visitor

به مرور تک تک این الگو های را بررسی میکنم و برای هر کدامشان یک پست جداگانه میزارم.

معروف‌ترین منبع الگوهای طراحی، ۲۳ الگوی طراحی Gang of Four هست. چهار نویسنده که کتاب Design Patterns: Elements of Reusable Object-Oriented Software را تألیف کرده‌اند و فکر می‌کنم معروف‌ترین و معتبرترین کتاب در زمینه‌ی الگوهای طراحی هست.
اما من برای برنامه نویسان جاوا کتاب Head First Design Patterns پیشنهاد میدم. کتابی که به نظرم خیلی ساده و روان الگوهای طراحی را توضیح میده.

نظر دهید:

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *