الگوی طراحی Chain of Responsibility در c++
- ایده اصلی پشت این طراحی برای زمانیست که یک درخواست یا دستور از چندین شی عبور کند تا زمانی که انجام شود .
- اشیای درگیر در این الگو دو نوع هستند ، اشیای پردازش و اشیای دستوری
- اشیای پردازشی دستوری که اشیای دستوری داده اند را انجام میدهند .
- هر شی پردازشی میداند که چه چیزی را میتواند انجام دهد و دستور را به شی بعدی در حلقه میفرستد اگر دستور انجام نشده باشد (زنجیره به پایان نرسیده باشد )
- یک مثال برای درک بهتر این الگو مکانیسم مدیریت استثناهای سی پلاس پلاس است . استثنای حل نشده در پشته تماس بالا میرود تا کسی بر آن عمل کند .
کد مثال :