Как применить шаблон стратегии в Android для корзины покупок - PullRequest
0 голосов
/ 21 сентября 2019

Я создаю приложение для электронной коммерции Android, и теперь я собираюсь создать корзину действий.У меня есть модель корзины, и я хочу применить шаблон стратегии, чтобы открыть классическое обновление будущих методов оплаты с помощью корзины с pay(paymentMethod: PaymentMethod) и интерфейсом PaymentMethod с сигнатурой метода pay(float: amount),На данный момент я хочу, чтобы Paypal реализовал интерфейс метода оплаты, поэтому я использую Paypal SDK для Android.Дело в том, что Paypal SDK требует начать новое действие для управления платежом, поэтому я застрял на том, кто должен реализовывать интерфейс PaymentMethod.

Моих испытаний было два, но я не знаю, какиеодин больше подходит для моего случая: в первом я позволил своей деятельности реализовать метод оплаты, а затем по нажатию кнопки «Купить» на onClick я вызываю метод оплаты, который запускает операцию Paypal, ожидающую результат onActivity таким образом: `

    PayPalPayment payment = new PayPalPayment(new BigDecimal(myFloat), "USD", myProduct,
            PayPalPayment.PAYMENT_INTENT_SALE);
    Intent intent = new Intent(this, PaymentActivity.class);

    intent.putExtra(PayPalService.EXTRA_PAYPAL_CONFIGURATION, PaypalConfigurationService.getConfig());

    intent.putExtra(PaymentActivity.EXTRA_PAYMENT, payment);
    startActivityForResult(i, 0);

`Во втором я создал класс PaypalMethod, который реализует интерфейс PaymentMethod, и в этом случае метод pay возвращает Intent, который создается так же, как и выше, используемый действием корзины при нажатии кнопки покупки,поэтому в этом случае я немного изменил шаблон проектирования.

Оба метода работают, но я хотел бы знать, какой из них верен с точки зрения разработки программного обеспечения, или, если существует какой-либо другой метод, более корректный для применения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...