设计模式学习笔记(9)——外观模式

版权声明:本文为博主原创,未经博主允许不得转载。 https://blog.csdn.net/weixin_36904568/article/details/89959437

1. 定义

又叫门面模式。提供一个高层次的接口,使得子系统更易于使用,同时依然暴露子系统的完整功能

2. 使用

  • 子系统:多个具体对象
  • 简化外观接口
    • 组合子系统的所有对象
    • 委托所有对象执行对应的方法

子系统

package AppearencePattern;

/**
 * 子系统的A模块
 */
public class ModuleA {
    public void operateA(){
        System.out.println("A模块的方法");
    }
}

package AppearencePattern;

/**
 * 子系统的B模块
 */
public class ModuleB {
    public void operateB(){
        System.out.println("B模块的方法");
    }
}

外观

package AppearencePattern;

/**
 * 子系统的外观
 */
public class Appearence {

    //外观接口
    public void operate(){
        ModuleA a = new ModuleA();
        a.operateA();
        ModuleB b = new ModuleB();
        b.operateB();
    }
}

测试

package AppearencePattern;

public class Test {
    public static void main(String[] args) {
        Appearence appearence = new Appearence();
        appearence.operate();
    }
}

3. 特点

  • 在不影响客户的情况下,改变子系统(只起到协调作用,无法提供新的行为)
  • 有助于隐藏子系统的内部方法
  • 更好的划分访问层次,可以将子系统继续划分为多个子系统

猜你喜欢

转载自blog.csdn.net/weixin_36904568/article/details/89959437