public interface PayFactory {
/**
* 统一下单
*/
void unifiedorder();
}
public interface RefundFactory {
/**
* 退款
*/
void refund();
}
public interface OrderFactory {
PayFactory createPay();
RefundFactory createRefund();
}
public class FactoryProducer {
public static OrderFactory getFactory(String type) {
if (type.equalsIgnoreCase("WECHAT")) {
return new WechatOrderFactory();
} else if (type.equalsIgnoreCase("ALI")) {
return new AliOrderFactory();
}
return null;
}
}
public class AliPay implements PayFactory {
@Override
public void unifiedorder() {
System.out.println("支付宝支付 统一下单接口");
}
}
public class AliRefund implements RefundFactory {
@Override
public void refund() {
System.out.println("支付宝 退款");
}
}
public class AliOrderFactory implements OrderFactory {
@Override
public PayFactory createPay() {
return new AliPay();
}
@Override
public RefundFactory createRefund() {
return new AliRefund();
}
}
public class WechatPay implements PayFactory {
@Override
public void unifiedorder() {
System.out.println("微信支付支付 统一下单接口");
}
}
public class WechatRefund implements RefundFactory {
@Override
public void refund() {
System.out.println("微信支付 退款");
}
}
public class WechatOrderFactory implements OrderFactory {
@Override
public PayFactory createPay() {
return new WechatPay();
}
@Override
public RefundFactory createRefund() {
return new WechatRefund();
}
}
设计模式——一个抽象工厂类例子
最新推荐文章于 2025-08-08 20:15:00 发布