Radio

一个小小程序员

0%

外观模式

外观模式

外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。

这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。

示例演示:
  1. 创建一个people实体和一个animal实体

    1
    2
    3
    4
    5
    6
    7
    package test.facade;

    public class People {
    public void say() {
    System.out.println("my name is people");
    }
    }
    1
    2
    3
    4
    5
    6
    7
    package test.facade;

    public class Animal {
    public void say() {
    System.out.println("my name is animal");
    }
    }
  2. 创建一个组合

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    package test.facade;

    public class Facade {
    private People people;
    private Animal animal;

    public Facade() {
    people = new People();
    animal = new Animal();
    }

    public void peopleSay() {
    people.say();
    }

    public void animalSay() {
    animal.say();
    }
    }
  3. 完成上述步骤,我们就可以开始演示了

    1
    2
    3
    4
    5
    6
    7
    8
    9
    package test.facade;

    public class FacadeDemo {
    public static void main(String[] args) {
    Facade facade = new Facade();
    facade.peopleSay();
    facade.animalSay();
    }
    }

    运行结果:

    1
    2
    my name is people
    my name is animal
说明:

上诉示例达到的效果就是我们说的开局一人一狗,默认绑定

优点: 1、减少系统相互依赖。 2、提高灵活性。 3、提高了安全性。

缺点:不符合开闭原则,如果要改东西很麻烦,继承重写都不合适。

欢迎关注我的其它发布渠道