طراحی سایت تهران، سیدخندان به سمت رسالت شرق، خیابان کابلی (دبستان)، نبش کوچه آگاهی، پلاک ۴ ، واحد ۱۵
02188471521   ۰۲۱۴۰۸۸۱۰۳۸

مفهوم الگوهای طراحی (Design Patterns) چیست ؟

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

مفهوم الگوهای طراحی (Design Patterns) چیست ؟ در این مطلب به بیان این مفهوم در طراحی وب می پردازیم تا با دانش و تسلط بیشتری به کار طراحی سایت بپردازید. با ما همراه باشید.

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

استفاده و کاربرد الگوهای طراحی ( Design Patterns )

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

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

الگوهای طراحی خلاقانه (Creational design patterns)

این الگوها به دو دسته ی class-creation و object-creational تقسیم می شود. در زیر به معرفی این الگوها می پردازیم:

  • Abstract Factory
    نمونه ای از خانواده های کلاس ها مختلف را می سازد
  • Builder
    ساختار آیتم ها را از یکدیگر جدا می کند
  • Factory Method
    نمونه ای از کلاس های مختلف را می سازد
  • Object Pool
    از درخواست های سنگین پرهیز کنید و مواردی را که دیگر مورد استفاده قرار نمی گیرند را از منابع پاک کنید
  • Prototype
    نمونه ی کاملی از مقداردهی اولیه که می تواند کپی شود
  • Singleton
    کلاسی که فقط یک نمونه ی تنها می تواند وجود داشته باشد

الگوهای طراحی ساختاری (Structural design patterns)

این الگوها همگی در رابطه با کلاس ها و آیتم ها و اشیاء هستند. این الگوها در نهایت برای به دست آمدن یک عملکرد جدید استفاده می شوند. در ادامه به معرفی آن ها می پردازیم:

مفهوم الگوهای طراحی (Design Patterns) چیست ؟
مفهوم الگوهای طراحی (Design Patterns) چیست ؟
  • Adapter
    رابط های کلاس های مختلف را به هم وصل می کند
  • Bridge
    اجرای یک آیتم را از رابط آن جدا می کند
  • Composite
    ساختار درختی یک آیتم کامپوزیت و ساده
  • Decorator
    مسئولیت ها و عملکردها را به صورت پویا به آیتم ها اضافه می کند
  • Facade
    یک کلاس که نشان دهنده ی یک زیر سیستم (Subsystem) است
  • Flyweight
    یک نمونه ی خوب برای اشتراک گذاری مفید و مناسب
  •  Private Class Data
    دسترسی accessorها و mutatorها را محدود می کند
  • Proxy
    یک آیتم که یک مورد دیگر را نمایندگی می کند

الگوهای طراحی رفتاری (Behavioral design patterns)

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

مفهوم الگوهای طراحی (Design Patterns) چیست ؟
مفهوم الگوهای طراحی (Design Patterns) چیست ؟
  • Chain of responsibility
    راهی برای انتقال درخواست بین زنجیره ای از موارد و آیتم ها
  • Command
    کپسول کردن یک فرمان به عنوان یک آیتم
  • Interpreter
    راهی برای قرار دادن عناصر زبانی در یک برنامه
  • Iterator
    به طور متوالی به المان های یک مجموعه دسترسی می دهد
  • Mediator
    ارتباط های ساده شده بین کلاس ها را تعریف می کند
  • Memento
    گرفتن و بازگرداندن حالت و جایگاه داخلی یک المان
  • Null Object
    ارزش گذاری پیش فرض برای موارد و آیتم های مختلف
  • Observer
    راهی برای اعلام و اطلاع رسانی تغییر در برخی از کلاس ها
  • State
    عوض کردن رفتار یک آیتم وقتی که حالت آن عوض می شود
  • Strategy
    کپسول کردن یک الگوریتم در یک کلاس
  • Template method
    مراحل دقیق یک الگوریتم را به یک زیر کلاس (Subclass) بسپارید
  • Visitor
    یک عمل جدید را برای یک کلاس تعریف می کند بدون آن که تغییری ایجاد کند

انتقاد

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

اهداف اشتباه

در یک شرایط ایده آل، یک مفهوم نباید کپی شود بلکه می باست به آن اشاره شود. اما اگر مواردی به جای کپی شدن به آن ها اشاره و یا ارجاع داد شود آنگاه دیگر الگویی برای برچسب و کاتالوگ وجود نخواهد داشت! Peter Norvig نیز در یک بحث مشابه بیان کرده که 16 تا از 23 الگوی موجود در کتاب Design Patterns امکان کوچک شدن و یا حذف شدن دارند.

فاقد پایه های رسمی است!

مطالعه و نظرات در این زمینه بسیار گسترده و بدون قاعده شده است! این موضوع احتیاج به سر و سامان گرفتن دارد! هیچ منبع یا علم پایه ای برای آن وجود ندارد و نظرات و شیوه های بسیار متفاوتی در حال استفاده و ارائه هستند.

منجر به راهکارهای نا مناسب می شود!

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

تفاوت چشمگیری با دیگران ندارد…

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

کاربران گرامی در اینجا این مطلب با عنوان مفهوم الگوهای طراحی (Design Patterns) چیست ؟ به پایان رسید و ما امیدواریم مثل همیشه از سایت سازان راضی بوده باشید و این مطلب مورد توجه و استفاده ی شما عزیزان قرار گرفته باشد.

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

نوشته های مرتبط

دیدگاه ‏خود را بنویسید