تولید کننده آموزش و محصولات مبتنی بر برنامه نویسی مدرن

۱۳ مطلب با کلمه‌ی کلیدی «example» ثبت شده است

الگوی طراحی visitor Design در c plus plus

الگوی طراحی visitor Design  در c++‎

 

ویژگی‌ها:

  • الگوی visitor یک الگوی رفتاریست .
  • الگوی visitor اجازه می‌دهد تا ساختار داده ها از الگوریتم‌های مورد استفاده جدا در نظر گرفته شوند.
  • هردوی ساختار داده ها و الگوریتم ها میتوانند جداگانه مورد توسعه قرار گیرند ، که توسعه و تغییرات را آسان تر می‌کند.
  • ساختار داده ها یک تابع accept دارد که یک شی visitor (الگوریتم ) ورودی می‌گیرد.
  • اشیار الگوریتم یک تابع visit دارند که یک ساختار داده به عنوان ورودی می‌گیرد.

 یک کد مثال ساده از پیاده سازی الگوی visitor :

(کد نسبت به لینک منبع اصلاح شد به دلیل این که کد در لینک اصلی نشت حافظه داشت )

ادامه مطلب...
۱۲ دی ۹۶ ، ۲۰:۰۰ ۰ نظر موافقین ۰ مخالفین ۰
بهنام صباغی

الگوی طراحی Command در c++

الگوی طراحی Command در c++‎

 

ویژگی ها :

  • الگوی طراحی Command یک الگوی رفتاریست .
  • یک فرمان یا درخواست را محاسبه می‌کند ، فرمان را به عنوان یک شی در نظر می‌گیرد .
  • کلاس های شرکت کننده در الگوی Command عبارتند از :
    • کلاس Command : یک کلاس ابسترک که اینترفیس تابع اجرا (execute ) را فراهم می‌کند .
    • کلاس Concrete Commands: از کلاس Command به ارث می‌برد و تابع اجرا (execute) را پیاده سازی می‌کند و دستور را روی شی گیرنده اجرا می‌کند .
    • کلاس Receiver : میداند چگونه عمل فرمان را انجام دهد .
    • کلاس Invoker : از شی command میخواهد تا دستور انجام دهد .
    • کلاس Client : دستورات و همکاران و گیرنده را ایجاد می‌کند .
  • چند مثال :
    • وقتی استفاده می‌شود که تاریخچه دستورات مورد نیاز است .
    • پردازش ناهمگام . نیاز است دستورات در زمان های مختلف اجرا شوند .
    • مراحل نصب

کد زیر یک مثال ساده از الگوی Command را نشان می‌دهد :

ادامه مطلب...
۱۱ دی ۹۶ ، ۲۰:۰۷ ۰ نظر موافقین ۰ مخالفین ۰
بهنام صباغی

آشنایی با دیتاویژوالیزیشن یا مجسم سازی داده ها در برنامه نویسی

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

خب من این اواخر پروژه هایی بهم خورد که روی بحث دیتا ویژوالیزیشن یا همون مجسم سازی داده ها تمرکز داشتند منم تجربیاتی بدست اوردم که دوست دارم با شما در میون بگذارم .

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

ادامه مطلب...
۲۶ آبان ۹۶ ، ۱۵:۵۹ ۰ نظر موافقین ۰ مخالفین ۰
بهنام صباغی