Chain of Responsibility in PHP در باره این لطفا توضیح بدید و مثال بزنید و بگید کجا ازش تو این پروژه استفاده کردید
تشکر
سلام ...
داخل ویدیوها به صورت کامل آموزش داده شده این مورد و پیاده سازی شده ... قسمتی که کد تخفیف رو Validate میکنیم دقیقا با Chain پیاده سازی شده ...
مهرداد سامی۱۲ آبان ۱۳۹۸، ۲۱:۰۷
در واقع به معنی زنجیره ای از مسئولیتها میباشد.
برای مثال شما سبد خریدی رو در نظر بگیرید که توی اون محاسبه هزینههای محصولات خریداری شده رو انجام میدهیم، بعد از چند ماه میخواهیم کد تخفیف رو توی سبد خرید نیز قرار بدهیم و دوباره بعد از مدتی میخواهیم هزینه ارسال بسته نیز محاسبه شود. خب تا به اینجا ما سه تا عملیات رو انجام میدهیم
محاسبه سبد خرید
محاسبه کد تخفیف
محاسبه هزینه ارسال
اگر بخواهیم این سه عملیات رو باهم توی صفحه سبد خرید انجام بدهیم باعث کاهش سرعت برنامه میشود به همین دلیل برای پیاده سازی این سیستم از Decorator pattern استفاده میکنم و توی اون Chain of Responsibility رو پیاده سازی میکنیم که به این صورت میباشد.
$basketCost = new BasketCost($app->make(Basket::class));
$shippingCost = new ShippingCost($basketCost);
$discountCost = new DiscountCost($shippingCost,$app->make(DiscountManager::class));
return $discountCost;