(十三)外观模式

当一次订单的流程越来越复杂时,调用者需要了解整个业务流程及每个服务的细节,这给调用带来了风险


水果订单流程

外观模式

外观模式

耦合功能,对外只提供一个入口,封装了业务流程,调用者不需要知道流程细节

/**
 * 客户服务一条龙
 */
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方法即可

适用场景

耦合业务模块,方便外界调用的场景

总结

其实就是做了一层封装

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 场景问题# 1.1 生活中的示例## 外观模式在现实生活中的示例很多,比如:组装电脑,通常会有两种方案。 一个...
    七寸知架构阅读 11,432评论 7 57
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,795评论 1 32
  • javascript设计模式与开发实践 设计模式 每个设计模式我们需要从三点问题入手: 定义 作用 用法与实现 单...
    穿牛仔裤的蚊子阅读 9,733评论 0 13
  • 工厂模式 单体模式 模块模式 代理模式 职责链模式 命令模式 模板方法模式 策略模式 发布-订阅模式 中介者模式 ...
    HelloJames阅读 4,581评论 0 6
  • 本周我想读的书有: 《钢铁是怎样炼成的》 《父与子》 想看电影:我的爸爸是森林之王 听说这个电影很好看,想去看。 ...
    弯弯的明月阅读 936评论 0 0