设计模式-外观模式(Facade)

设计模式-外观模式(Facade)

   概要

   记忆关键词:对外统一接口

   定义:为了使复杂的子系统更容易被使用,应当为子系统的众多接口提供一个简洁的高层接口

   分析:外观模式为子系统的众多接口提供了统一的高层接口,使子系统更容易使用。

   类型:结构型

   外观模式结构图如下:

     

    代码示例:

public class SubSystemA {
    public void methodA(){
        System.out.println("执行方法A");
    }
}

public class SubSystemB {
    public void methodB(){
        System.out.println("执行方法B");
    }
}


public class SubSystemC {
    public void methodC(){
        System.out.println("执行方法C");
    }
}

public class SubSystemD {
    public void methodD(){
        System.out.println("执行方法D");
    }
}

     Facade类:

 1 public class Facade {
 2     public void comboMethodA(){
 3         SubSystemA subSystemA = new SubSystemA();
 4         SubSystemB subSystemB = new SubSystemB();
 5         SubSystemD subSystemD = new SubSystemD();
 6         subSystemA.methodA();
 7         subSystemB.methodB();
 8         subSystemD.methodD();
 9     }
10 
11     public void comboMethodB(){
12         SubSystemB subSystemB = new SubSystemB();
13         SubSystemC subSystemC = new SubSystemC();
14         SubSystemD subSystemD = new SubSystemD();
15 
16         subSystemC.methodC();
17         subSystemB.methodB();
18         subSystemD.methodD();
19     }
20 }

    一、使用场景

   在电商系统中,订单处理涉及多个子系统,比如库存管理、支付系统、物流系统等。外观模式可以提供一个统一的接口来处理订单,让客户端调用更加简单。

   二、总结

   外观模式是非常常用的模式之一,它完美地体现了依赖倒置原则和迪米特原则的思想

posted @ 2024-07-31 22:19  欢乐豆123  阅读(15)  评论(0编辑  收藏  举报