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

 

ویژگی‌ها :

 

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

کد مثال : 

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

 

 

 

خروجی :

Run diagnostics on the phone!
running PhoneDiagnostics...
running ScreenSaverDiagnostics...
running HardwareDiagnostics...
running TouchScreenDiagnostics...
running OnOffKeyDiagnostics...
running NetworkDiagnostics...
running WifiDiagnostics...
running ThreeGDiagnostics...
****
Get the diagnostics result
PhoneDiagnostics all tested Okay!
ScreenSaverDiagnostics all tested Okay!
HardwareDiagnostics all tested Okay!
TouchScreenDiagnostics all tested Okay!
OnOffKeyDiagnostics all tested Okay!

NetworkDiagnostics all tested Okay!
WifiDiagnostics all tested Okay!
ThreeGDiagnostics all tested Okay!

 

 

منبع