Есть такое задание: Имеется 2 платёжные системы. Если в корзине набралось товаров на сумму больше или равно 500, то платить надо, кредитной картой. Если набралось на сумму более 200 и менее 500, то платить с помощью PayPal. Это правильное решение? PHP: <?php interface payStrategy{ public function pay($amount); } class payByCC implements payStrategy{ private $ccNum = ''; private $ccType = ''; private $cvvNum = ''; private $ccExpMoth = ''; private $ccExpYear = ''; public function pay($amount = 0){ echo 'Заплатите ' . $amount . ' с помощью кредитной карты'; } } class payByPayPal implements payStrategy{ private $payPalEmail = ''; public function pay($amount = 0){ echo 'Заплатите ' . $amount . ' с помощью PayPal'; } } class shoppingCart{ public $amount = 0; public function __construct($amount = 0){ $this->amount = $amount; } public function payAmount(){ if($this->amount >=500){ $payment = new payByCC(); } elseif($this->amount >= 200 && $this->amount < 500){ $payment = new payByPayPal(); } $payment->pay($this->amount); } } $cart = new shoppingCart(700); $cart->payAmount(); echo '<br>'; $cart = new shoppingCart(300); $cart->payAmount();
И как я должен понимать, что в методе payAmount нужно создавать объект реализующий интерфейс payStrategy? Пользы, в данном случае, существования интерфейса payStrategy вообще никакой.