门面模式
提供统一的接口,去访问子系统的接口。
外观角色:统一接口faceade
子系统角色:subsystem
积分商城为例:
public class GiftFaceade {
private QualifyService qualifyService = new QualifyService();
private PaymentService paymentService = new PaymentService();
private DeliveryService deliveryService = new DeliveryService();
//兑换
public void exchange(GiftInfo giftInfoExchange) {
if (qualifyService.isAvailable(giftInfoExchange)) {//积分校验
if (paymentService.pay(giftInfoExchange)) {//支付校验
String deliveryNumber = deliveryService.delivery(giftInfoExchange);
System.out.println("成功,订单号"+deliveryNumber);
}
}
}
}
门面模式做好弄成单例模式
门面模式和代理模式的区别:
a。门面模式可以看成是特殊的静态代理
b,门面更加强调封装,代理更加强调功能扩张。