当一次订单的流程越来越复杂时,调用者需要了解整个业务流程及每个服务的细节,这给调用带来了风险
水果订单流程
外观模式
外观模式耦合功能,对外只提供一个入口,封装了业务流程,调用者不需要知道流程细节
/**
* 客户服务一条龙
*/
public class OrderFacade {
private PickService pickService;
private PackService packService;
private SendService sendService;
public OrderFacade(){
pickService = new PickService();
packService = new PackService();
sendService = new SendService();
}
/**
* 客户订单处理类
*/
public void doOrder(){
//采摘
System.out.println("--------------");
pickService.doPick();
//包装
System.out.println("--------------");
packService.doPack();
//快递
System.out.println("--------------");
sendService.doSend();
}
}
对外只需要调用doOrder方法即可
适用场景
耦合业务模块,方便外界调用的场景
总结
其实就是做了一层封装
网友评论