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

 

ویژگی‌ها:

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

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

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

 

خروجی :

Visited ConcreteElement1 using ConcreteVisitor1.
Visited ConcreteElement2 using ConcreteVisitor1.
Visited ConcreteElement1 using ConcreteVisitor2.
Visited ConcreteElement2 using ConcreteVisitor2.

 

 

 

منبع