مثال برای این طراحی : در انتخاب تم برای برنامه

در انتخاب میز وصندلی ومبل یک دست که در یک دسته قرار دارند

در انتخاب درگاه پرداخت
مثال ما دو درگاه پرداخت داریم یکی زرین پال ویکی بانک ملت
حالا میخاهیم که از یکی از این دو در برنامه استفاده کنیم
میایم از این دیزاین پترن استفاده میکنیم
وارگ هم بعدا لازم ود درگاه دیگری اضافه کنیم میتونیم راحت اضافه کنیم
public interface IPaymentGateway
{
void ProcessPayment(Order order);
}
public class ZarinPalPaymentGateway : IPaymentGateway
{
public void ProcessPayment(Order order)
{
// پردازش پرداخت از طریق درگاه PayPal
}
}
public class MelatPaymentGateway : IPaymentGateway
{
public void ProcessPayment(Order order)
{
// پردازش پرداخت از طریق درگاه Stripe
}
}
در کد بالا پردازش هر بانک را وکد هاش درون هر متد مینویسیم حالا برای استفاده از هر کدوم از فکتوری استفاده میکنیم.
public interface IPaymentGatewayFactory
{
IPaymentGateway CreatePaymentGateway();
}
public class PayPalPaymentGatewayFactory : IPaymentGatewayFactory
{
public IPaymentGateway CreatePaymentGateway()
{
return new PayPalPaymentGateway();
}
}
public class StripePaymentGatewayFactory : IPaymentGatewayFactory
{
public IPaymentGateway CreatePaymentGateway()
{
return new StripePaymentGateway();
}
}
IPaymentGatewayFactory paymentGatewayFactory = new PayPalPaymentGatewayFactory();
IPaymentGateway paymentGateway = paymentGatewayFactory.CreatePaymentGateway();
paymentGateway.ProcessPayment(new Order("10",1500000));
مثال برای این طراحی : در انتخاب تم برای برنامه
در انتخاب میز وصندلی ومبل یک دست که در یک دسته قرار دارند
در انتخاب درگاه پرداخت
مثال ما دو درگاه پرداخت داریم یکی زرین پال ویکی بانک ملت
حالا میخاهیم که از یکی از این دو در برنامه استفاده کنیم
میایم از این دیزاین پترن استفاده میکنیم
وارگ هم بعدا لازم ود درگاه دیگری اضافه کنیم میتونیم راحت اضافه کنیم
در کد بالا پردازش هر بانک را وکد هاش درون هر متد مینویسیم حالا برای استفاده از هر کدوم از فکتوری استفاده میکنیم.