راهنمای مقدماتی دیزاین پترن Design Pattern

- دسته بندی: توسعه وب
- تاریخ انتشار: ۱۳۹۷/۰۹/۲۴
- تعداد کامنت: 0 ارسال دیدگاه
- به اشتراک گذاری:
راهنمای مقدماتی دیزاین پترن Design Pattern
The Beginner’s Guide to Design Patterns
دلایل اهمیت دیزاین پترن:
برای درک کامل اهمیت دیزاین پترن (Design Pattern) یک مثال بیان می کنیم. هنگامیکه یک کاربر از محصول شما استفاده می کند، آنها لندینگ پیج، پست بلاگ یا قالب سایت خود را چگونه ذخیره می کنند؟ آیا او می تواند از قابلیت “Auto-Save” استفاده کند یا باید حتما روی “Save” کلیک کند؟
فرض کنید شما گزینه auto-save را انتخاب کرده اید. اکنون شما چقدر زمان دارید؟ آیا مجبورید برای فعال سازی گزینه auto-save وارد تک تک صفحات شوید و کامپوننت مربوطه را ایجاد کنید؟ که مسلما در این حالت پتانسیل بروز خطای بالایی وجود دارد.
یا از دیزاین پترن خاصی برای این قضیه استفاده می کنید تا اطمینان حاصل کنید که تمام صفحات سایت تان به طرز واحدی ذخیره می شوند. ارزش استفاده از دیزاین پترن ها در اینجا مشخص می شود.
در این مقاله ما قصد داریم دیزاین پترن را معرفی کرده و انواع دیزاین پترن Java و C# و .NET را بیان کنیم. در صورت استفاده از Design Pattern ها، می توانید در پروژه های بعدی خود زمان ارزشمندتان را ذخیره کنید و آنرا بیهوده هدر ندهید.
دیزاین پترن (Design Pattern) چیست؟
به بیان ساده، دیزاین پترن ها راه حلی برای تکرار شدن مشکلات هستند. در دنیای تجربه کاربری یا UX یک دیزاین پترن راه حلی از پیش تعریف شده برای حل مشکلات طراحی پروژه می باشد. به بیان دیگر ما توسط دیزاین پترن ها می گوییم: “این روشی است که ما برای حل مشکلات پروژه از آن استفاده می کنیم. اگر شما هم می خواهید از متد ما استفاده کنید”
یکی از مدیران وب سایت هاب اسپات (Hubspot) بنام Chelsea Bathurst می گوید: “کامپوننت ها پایه و اساس پروژه ها هستند. دیزاین پترن مشخص می کند این کامپوننت ها چگونه با یکدیگر کار کنند.”
دیزاین پترن ها (Design Patterns) بدون شک مفید هستند. آنها به طراحان این امکان را می دهند که “چرخ را دوباره اختراع نکنند!”
زیرا دیزاین پترن ها توسط طراحان زبده و حرفه ای تست شده اند، ریسک استفاده از آنها پایین است و از طراحی از ابتدا (from scratch) خیلی بهتر است.
انواع دیزاین پترن:
سه نوع دیزاین پترن یا Design Pattern داریم:
- خلاقانه (Creational): با توجه به مکانیزم تولید آبجکت
- ساختاری (Structural): با توجه به ارتباط بین کلاس و آبجکت و نیز پترن بین کامپوننت ها
- رفتاری (Behavioral): شناسایی پترن ارتباطی بین آبجکت های کلاس
اکنون بیاید نگاهی به دیزاین پترن های جاوا و سی شارپ بیاندازیم:
دیزاین پترن های جاوا (Java Design Patterns):
Factory Pattern Abstract Factory Pattern Singleton Pattern Prototype Pattern Builder Pattern Adapter Pattern Bridge Pattern Composite Pattern Decorator Pattern Facade Pattern Flyweight Pattern Proxy Pattern Chain Of Responsibility Pattern Command Pattern Interpreter Pattern Iterator Pattern Mediator Pattern Memento Pattern Observer Pattern State Pattern Strategy Pattern Template Pattern Visitor Pattern
دیزاین پترن های سی شارپ و دات نت (C# & .Net Design Patterns):
Abstract Factory Pattern Builder Pattern Factory Method Pattern Prototype Pattern Singleton Pattern Adapter Pattern Bridge Pattern Composite Pattern Decorator Pattern Facade Pattern Flyweight Pattern Proxy Pattern Chain Of Responsibility Pattern Command Pattern Interpreter Pattern Iterator Pattern Mediator Pattern Memento Pattern Observer Pattern State Pattern Strategy Pattern Template Pattern Visitor Pattern
شما وقتی کاربرد هریک از دیزاین پترن ها را متوجه شدید، می توانید تشخیص دهید که کدامیک از آنها جوابگوی نیاز پروژه شما خواهد بود. هرچند که داشتن اطلاعات پایه از زبان های برنامه نویسی جاوا و سی شارپ و مفاهیم بنیادین برنامه نویسی دات نت ضروری می باشد. اگر دانشی در این زمینه ها ندارید توصیه می شود ابتدا دوره های فوق را بگذرانید و سپس سراغ انتخاب دیزاین پترن موردنیاز خود بروید.
منبع: blog.hubspot.com