در مهندسی نرم افزار، design patterns(الگوهای طراحی) راه حل‌های قابل استفاده برای مشکلاتی هستند که معمولاً در طراحی نرم‌افزار اتفاق می افتند.

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

دریافت کتاب

چرا باید الگو های طراحی را آموخت؟


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

الگو های طراحی راه حل‌های قابل استفاده برای مشکلاتی هستند که در طراحی نرم‌افزار اتفاق می افتند. حتی اگر هرگز با این مشکلات روبرو نشده‌اید که امکان ندارد! شناختن آن‌ها هنوز هم مفید است زیرا به شما می‌آموزد چگونه این مشکلات حل شدنی هستند. الگو های طراحی یک زبان مشترک تعریف می‌کنند. که شما و سایر اعضای تیم می‌توانید برای برقرای ارتباط مؤثر از آن استفاده کنید.

در اغلب آگهی های استخدام، نیاز به دانش و تخصص الگو های طراحی مطرح شده. در نتیجه آموختن این الگو ها در آینده شغلی شما تأثیر مثبتی خواهد گذاشت.

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


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

از طرفی آوردن مثال از چند زبان برنامه نویسی باعث افزایش حجم کتاب میشد که من این موضوع را نمی‌پسندیدم. به عنوان راه حل داخل کتاب لینک گیت هاب شامل مثال هایی از پترن دیزاین با زبان های مختلف مثل جاوا، پایتون، سی پلاس پلاس، سی شارپ و… قرار داده شد. در کتاب هم به عنوان نمونه، مثال ها را با PHP نوشتم.


منابع


برای گردآوری این کتاب منابع زیادی رو مطالعه/ترجمه کردم مثل refactoring.guru، sourcemaking.com، کتاب Design Patterns: Elements of Reusable Object-Oriented Software و Design Patterns for Humans و نهایتاً کمی تجارب خودم.

بین این موارد از ساختار و روش Design Patterns for Humans که نزدیک‌ترین به هدف من بود و مجوز هاش محدودم نمیکرد خوشم اومد و با همین ساختار جلو رفتم.


فصل ها


فصل اول

‫مقدمه‬

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

چرا باید الگوهای طراحی را آموخت؟

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


فصل دوم: الگوهای طراحی سازنده / Creational

Simple Factory

Factory Method

Abstract Factory

Builder

Prototype

>Singleton


فصل سوم: الگوهای طراحی ساختاری / Structural

Adapter

Bridge

Composite

Decorator

Facade

Flyweight

Proxy


فصل چهارم: الگوهای طراحی رفتاری / Behavioral

Chain of Responsibility

Command

Iterator

Mediator

Memento

Observer

Visitor

Strategy

State

Template Method

Copyright © 2020 developit.ir(ehsan rezaei). All rights reserved.