💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ MohammadMoghadasi
توضیح در مورد Chain of Responsibility in PHP
جامعه لاراول ایجاد شده در ۱۱ آبان ۱۳۹۸

سلام خسته نباشید خدمت استاد

Chain of Responsibility in PHP در باره این لطفا  توضیح بدید و مثال بزنید و بگید کجا ازش تو این پروژه استفاده کردید

تشکر

سلام ... 

داخل ویدیو‌ها به صورت کامل آموزش داده شده این مورد و پیاده سازی شده ... قسمتی که کد تخفیف رو Validate میکنیم دقیقا با Chain پیاده سازی شده ... 

مهرداد سامی ۱۲ آبان ۱۳۹۸، ۲۱:۰۷

در واقع به معنی زنجیره ای از مسئولیت‌ها می‌باشد.

برای مثال شما سبد خریدی رو در نظر بگیرید که توی اون محاسبه هزینه‌های محصولات خریداری شده رو انجام میدهیم، بعد از چند ماه می‌خواهیم کد تخفیف رو توی سبد خرید نیز قرار بدهیم و دوباره بعد از مدتی میخواهیم هزینه ارسال بسته نیز محاسبه شود. خب تا به اینجا ما سه تا عملیات رو انجام می‌دهیم 

  1. محاسبه سبد خرید
  2. محاسبه کد تخفیف
  3. محاسبه هزینه ارسال 

اگر بخواهیم این سه عملیات رو باهم توی صفحه سبد خرید انجام بدهیم باعث کاهش سرعت برنامه می‌شود به همین دلیل برای پیاده سازی این سیستم از 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;

این تیکه کد رو با دقت بخون بسیار واضح هست.

با تشکر

جواد فرامرزی ۰۶ آذر ۱۳۹۸، ۱۳:۴۸