a

ABLY مقالات و مطالب مجموعه

انواع دیزاین پترن ها در #C (بخش پایانی)

در بخش پایانی به این 3 مورد آخر می پردازیم:

  • دیزاین پترن Strategy

  • دیزاین پترن Template Method

  • دیزاین پترن Visitor

مطالب پیش نیاز:

 

انواع دیزاین پترن ها در C# (بخش سوم)

با سلام.

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

دیزاین پترن ها در سی شارپ C#

type-of-design-pattern

انواع دیزاین پترن ها در C# (بخش دوم)

با سلام و خسته نباشید خدمت شما همراهان همیشگی مجموعه ABLY

در مقاله های قبل تر ما دیزاین پترن و 5 نوع از آن را در سی شارپ به شما معرفی کردیم. حال در این مقاله به 5 نوع دیگر می پردازیم. بنابراین پیشنهاد می کنیم که حتماً مطالب پیش نیاز را مطالعه کنید:

دیزاین پترن (Design Pattern) چیست؟

انواع دیزاین پترن ها در #C (بخش اول)

  • دیزاین پترن Adapter

  • دیزاین پترن Bridge

  • دیزاین پترن Composite

  • دیزاین پترن Decorator

  • دیزاین پترن Facade

انواع دیزاین پترن ها در سی شارپ

what-is-design-pattern

بسم الله الرحمن الرحیم

انواع دیزاین پترن ها در C# (بخش اول)

با سلام و خسته نباشید. در این مقاله ما قصد داریم که انواع مختلفی از دیزاین پترن های مورداستفاده در زبان سی شارپ رو در اختیار شما عزیزان قرار بدیم. بنابراین تا پایان این دوره همراه ما در مجموعه ably باشید.

در ابتدا و در یک تعریف کلی باید بگیم که Design Patternها یکسری جواب های ثابت شده به مشکلات رایج در طراحی هستند که به وسیله آنها می توان یکسری راهکار برای حل مسائل بازگشتی در طراحی برنامه تعریف کرد.

یک مطلب کامل تر راجع به معرفی دیزاین پترن ها قبلا تهیه کردیم. بهتره که اول این مطلب رو بخونید و بعد با انواع دیزاین پترن ها آشنا شید.

مطلب پیش نیاز: دیزاین پترن (Design Pattern) چیست؟

در این مقاله 5 نوع اول دیزاین پترن ها را به شما عزیزان معرفی خواهیم کرد و در مقاله های بعد انواع دیگر را نیز عنوان خواهیم کرد.

  1. دیزاین پترن Factory Method
  2. دیزاین پترن Abstract Factory
  3. دیزاین پترن Builder
  4. دیزاین پترن Prototype
  5. دیزاین پترن Singleton

انواع دیزاین پترن ها در سی شارپ

different-types-of-design-patterns

دیزاین پترن (Design Pattern) چیست و چرا باید از آن استفاده کنیم؟

در این مقاله به موارد زیر می پردازیم:

Design Pattern چیست؟

 چرا باید از Design Patternها استفاده کنیم؟

 چه زمانی باید از Design Patternها استفاده کنیم؟

 چند الگو وجود دارد؟

معرفی دیزاین پترن ها

what is design_patterns

بسم الله الرحمن الرحیم

 

 

بخش ششم

الگوهای برنامه نویسی

الگوی Abstract Factory

 

در آموزش قبل با روش Method Factory آشنا شدیم، در این روش با الگوی برنامه نویسی Abstract Factory آشنا خواهیم شد.

در روش Method Factory تمامی اشیا توسط یک متد ایجاد می شدند، اما در روش Abstract Factory هر کلاس یک سازنده جداگانه خواهد داشت و البته همه ی این سازنده ها در کلاس اصلی ما قرار می گیرند.

آموزش Method Factory

 

در Abstract Factory ما یک Interface اصلی خواهیم داشت که مجموعه ای از Object های وابسته را تعریف می کند. در Abstract Factory ما وظیفه ی تولید هر شی را به Factory مربوطه اش واگذار می کنیم، اینجاست که اگر بعد از مدتی از ما خواسته شود که برنامه را بسط بدهیم تنها با ایجاد یک Factory مشکل را می توانیم حل می کنیم.

 

روش Abstract Factory برای ایجاد اشیای مرتبط مورد استفاده قرار می گیرد، این روش به دلیل اینکه تمامی اشیا را به صورت واحد طراحی و ایجاد می کند روش Factory of factories نیز خوانده می شود، همانطور که گفته شد در روش Abstract Factory یک interface مسئولیت ایجاد و ساخت اشیاء مرتبط را به عهده دارد.

بسم الله الرحمن الرحیم

بخش پنجم

الگوهای برنامه نویسی

الگوی Factory

شاید با مفهوم (OCP (Open Close Principle آشنا باشید، OCP یکی از اصول اساسی طراحی سیستم های شی گرا می باشد که بسیاری از ما این اصل را رعایت نمی کنیم. OCP بیانگر این مفهوم می باشد که کدهای  شما باید در براب

بسم الله الرحمن الرحیم

بخش چهارم

الگوی طراحی (Design Pattern)

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

design pattern چیست؟

Design pattern ها راهکارهایی هستند برای رفع مشکلات طراحی نرم افزار، pattern ها یا همان الگوها باعث می شوند تا کدهای ما قابلیت استفاده مجدد داشته باشند.

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

حال اگر ما به صورت دقیق فعالیت هایی را انجام دهیم که باعث شوند میزان مشکلات ما کم تر شوند بدین معنا خواهد بود که ما از یک سری الگوهای رفتاری یا همان Design pattern استفاده می کنیم.

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

 

کاربرد و هدف الگوهای طراحی

اما الگوهای طراحی بعد از الگو های معماری آمدند و در طراحی زیر سیستم ها، Package  ها و Component ها استفاده می­ شوند و هدفشان ارائه راه حل هایی برای حل مشکلات معمول و تکراری می­ باشد، مشکلاتی مانند:

    مدیریت حافظه

    مدیرت اشاره گرها

    synchronization  and mutual exclusion

    جلوگیری از بن بست (deadlock avoidance)

 

در Design pattern ها مفهومی به نام الگوی معماری (Architectural pattern) وجود دارد، این معماری مشخص کننده ترکیب ساختاری (Structural Arrangement) زیر سیستم های های نرم افزاری و قوانین ارتباطی ببین آنها می باشد.

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

در اینجا سعی می کنیم تا به بررسی الگوهای طراحی از دو دیدگاه بپردازم، یکی تقسیم بندی الگوها از نظر GOF و دیگری از دیدگاه Martin Fowler.