• 01-04-2024, 14:55:44
    #1
    Merhabalar, bir pazar yeri uygulaması yazıyoruz. payment gateway için 2-3 adet farklı ödeme sağlayıcısı kullanacağız.

    Bunu best practice olarak sizlerce nasıl yapabilirim.

    Aklımdan geçen öncelikle bir interface yazmak.

    public interface IPaymentProcessor
    {
        bool ProcessPayment(Order order);
    }
    Sonrasında her payment processor için bir servis açayım diyorum

    public class İyizicoService: IPaymentProcessor
    {
    public bool ProcessPayment(Order order)
    {
    return true;
    }
    }
    
    public class PaytrService: IPaymentProcessor
    {
    public bool ProcessPayment(Order order)
    {
    return false;
    }
    }

    Sonrasında bir navigator tarzı bir şey düşünüyorum.

    public class PaymentProcessorNavigator
    {
        public static IPaymentProcessor Navigate(Order Order)
        {
            switch (order.ProcessorType)
            {
                case Processors.Iyizico:
    return new IyiziService();
                case Processors.Paytr:
    return new PayTrService();
            }
        }
    }

    Aklıma ilk gelen yöntem böyle bir şey oldu ama daha iyi bir fikri olan veya biz şöyle yaptık güzel oldu diyecek varsa yorumları bekliyorum, şimdiden teşekkürler.
  • 01-04-2024, 17:13:51
    #2
    Chatgptnin size verdiği bu tavsiye bence uygundur çünkü baktığımda chat gpt interfacei önermesi doğru bir önerme olmuş.

    Ama mantıklı tabi neden olmasın interface yapısını kullanıp sonra veri , ödeme nereye gidip gelecekse oraya yönlendirme bunuda kosul ile yapma olayı güzel ayarlarıda ayar dosyasında tuttunuz mu tamamdır.

    iyi forumlar