آموزش design pattern در برنامه نویسی با 10 درس رایگان+ PDF
الگوهای طراحی برای اولین بار توسط کریستوف الکساندر (Christopher Alexander) ارائه شدند. در واقع الگوهای طراحی به عنوان راه حل هایی برای مشکلات فرایند برنامه نویسی معرفی شده اند. این الگوها که توسط متخصصان باتجربه در زمینهٔ شییٔگرایی ابداع شدهاند کمک میکنند تا سورسکدی انعطافپذیرتر و تغییرپذیرتر شود. استفادهٔ صحیح و اصولی از دیزاین پترنها در توسعهٔ نرمافزارهای حرفهای بسیار تأثیرگذار است. دراین مقاله سعی داریم تا مفهوم دیزاین پترن را شرح دهیم و هر آنچه که لازم است را به شما آموزش دهیم.
Design Pattern (الگوی طراحی) چیست؟
دیزاین پترنها راهحلهای صحیح در مسائل مربوط به توسعهٔ نرمافزار هستند که هنگام برنامه نویسی با آن برخورد میکنیم. دیزاین پترن الگویی است که باید در موقعیت مناسب خود مورد استفاده قرار بگیرد تا بهترین نتیجه را در توسعهٔ نرمافزار در اختیار دولوپر قرار دهد. دیزاین پترن وابسته به زبان برنامه نویسی نیست و قابلیت اجرا شدن در همه زبان ها را دارد.
کاربرد Design Pattern
در برنامه نویسی شی گرا، دیزاین پترن ها بهترین، سریع ترین و درست ترین روش برای رسیدن به هدف در برنامه نویسی در کمترین زمان ممکن پیدا شود در واقع دیزاین پترن ها جلوی پیچیدگی های بی مورد را می گیرند و به نوعی نقش تدوینگر را ایفا می کنند و ا موارد حاشیه ای جلوگیری میکنند. این کار سبب می شود تا هر آنچه که نوشته می شود قالب و سقف مخصوص به خود را داشته باشد.
آشنایی با انواع دیزاین پترنها
مهمتر از همه اینکه هر دیزاین پترنی را میتوان به عنوان شمشیر دولبهای در نظر گرفت که اگر در جای نادرست به کار رود، مشکلات زیادی را به وجود می آورد و استفاده اصولی آن توسعه نرم افزاری را به دنبال خواهد داشت.
دیزاین پترنها معمولاً در سه گروه اصلی دستهبندی میشوند که عبارتند از:
1- الگوهای طراحی تکوینی (Creational Design Patterns)
الگوهای طراحی Creational برای حل مشکلات مربوط به ایجاد اشیا در نرم افزار استفاده میشوند.
متداولترین دیزاین پترنهای Creational عبارتند از :
- Factory Method
- Singleton
- Prototype
- Abstract Factory
- Builder
- Object Pool
2- الگوهای طراحی ساختاری (Structural Design Patterns)
الگوهای طراحی ساختاری یا Structural، راه حل هایی برای حل مشکلات توسعه پذیری ساختار نرم افزارهاهستند. این دیزاین پترنها برای مدیریت ارتباط میان کلاسها و شیها با یکدیگر استفاده میشوند.
متداولترین دیزاین پترنهای Structural عبارتند از :
- Adapter
- Decorator
- Facade
- Bridge
- Composite
- Flyweight
- Proxy
3- الگوهای طراحی رفتاری (Behavioral Design Patterns)
الگوهای طراحی Behavioral راهکارهای کدنویسی مربوط به تعامل و ارتباط اشیا هستند.
این الگوهای طراحی عبارتند از:
- Chain of responsibility
- Strategy
- Iterator
- Command
- Mediator
- Memento
- Observer
- State
- Template Method
- Visitor
مزایای استفاده از الگوهای طراحی
- افزایش مقیاس پذیری (scalability)
- افزایش قابلیت توسعه پذیری (expandability)
- افزایش انعطاف پذیری (flexibility)
- افزایش سرعت توسعه نرم افزارها
- کاهش خطاها و مشکلات
- کاهش میزان کدنویسی
نقد الگوهای طراحی
- پترن ها برای آنکه بتوانند وظایف خود را به درستی انجام دهند و آنچه را که برای تحققش ایجاد شده اند به درستی پیاده سازی کنند، نیاز به ابزارها و مایحتاج خاصی دارند. آن ها این احتیاجات خود را از زبان برنامه نویسی یا تکنیک هایی که برنامه نویس از آن ها برای کدنویسی استفاده کرده است، دریافت می کنند. بنابراین گاهی الگوهای طراحی هدف را اشتباه شناسایی میکنند.
- عدم وجود پایه و اساس رسمی برای Design Pattern یکی دیگر از نقدها وارد شده به این الگوهاست.
- با وجود اینکه در برنامه نویسی این الگوها موقل ای مهمی به شمار می آیند اما گاهی دیزاین پترن به راه حل هایی ناکارآمد منتهی می شود.
دانلود دروس
برگرفته از کانال آپارات محمدرضا واحد. برای دانلود هر درس روی آن کلیک کنید یا دکمه Alt کیبورد را نگه داشته و روی آن کلیک کنید. هر درسی باز نشد در بخش نظرات اعلام کنید تا سریعا مشکل رفع شود؛
برای مشاهده بهتر ویدیوها در موبایل، گوشی را افقی نگه دارید. ضمنا لینک دانلود هر ویدیویی روی خود ویدیو قرار دارد. بهتر است وی پی ان روشن نباشد.
درس 1
درس 2
درس 3
درس 4
درس 5
دانلود جزوه PDF آموزش دیزاین پترنها
دانلود PDF آموزش الگوهای طراحی
سلام.ممنون از آموزش خوبتون خستهن باشید
پاسخ