• 1399/03/31

متوجه نشدن الگوی chain of responsibility :

سلام. وقت به خیر

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

مثلا موقعی که دستور زیر  را مینویسم خب اول متد setNext از کلاس MonkeyHandler صدا زده میشه و چون این کلاس این متد را نداره پس به کلاس AbstractHandler مراجعه میکنه و از اونجا متد setNext صدا زده میشه.و از انجا به بعدش را نمیدونم چه اتفاقی میفته.

$monkey = new MonkeyHandler;
$dog = new DogHandler;


$monkey->setNext($dog);

echo "Chain : Monkey > Fish > Dog" . '<br>';

clientCode($monkey);
  • 1399/03/31
  • ساعت 22:45

با سلام خدمت شما همراه عزیز

 

ببینید در حالت عادی setNext رو کاری نداریم تا زمانی که قراره بره حلقه بعدی رو چک کنه

 

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


logo-samandehi