09-门面模式

09-门面模式

01.门面模式

public class UserController {

    public void a() {
        System.out.println("== a ==");
    }

    public void b() {
        System.out.println("== b ==");
    }
}

/**
 * 门面模式:完成一个功能需要调用UserController中的a()和b(),需要两次接口调用。
 * 通过门面模式将a()和b()封装到UserFacade中的x()中,只需要一次调用即可完成功能。
 */
public class UserFacade {

    private UserController userController;

    public UserFacade(UserController userController) {
        this.userController = userController;
    }

    public void x() {
        userController.a();
        userController.b();
    }
}

2.门面模式总结

  1. <<设计模式:可复用面向对象软件的基础>>中对门面模式的定义:门面模式为子系统提供一组统一的接口,定义一组高层接口让子系统更已用。
  2. 门面模式通俗的解释:A系统提供四个接口a、b、c、d。系统B完成某个业务功能,需要调用系统A的三个接口a、b、c,利用门面模式可以提供一个包裹a、b、d的门面接口x,供系统B直接使用。原本系统B需要和系统A通讯三次才能实现业务功能,添加门面接口x后,只需要一次系统B就可以完成业务功能。
  3. 门面模式的作用。
    1. 门面模式可以提高接口的易用性。门面模式通过提供一组易用的接口,封装系统底层的负责实现。如Linux操作系统的Shell命令,就可以看做是一种门面,它封装操作系统调用函数,让用户可以通过执行的简单的命令来完成和操作系统的交互。
    2. 利用门面模式提高接口的性能。某个功能需要调用多个接口完成,可以将多个接口替换为一个门面接口,来减少网络通信成本。
posted @ 2022-11-27 08:50  行稳致远方  阅读(18)  评论(0)    收藏  举报