【设计模式】—— 外观模式Facade

  前言:【模式总览】——————————by xingoohtml

  模式意图

  外观模式主要是为了为一组接口提供一个一致的界面。从而使得复杂的子系统与用户端分离解耦。spa

  有点相似家庭经常使用的一键开关,只要按一个键,台灯卧室客厅的灯都亮了。虽然他们各有各自的开关,可是对外用一个来控制。code

  应用场景

  1 为复杂系统 提供简单的接口。htm

  2 客户程序与抽象类的实现部分分离。blog

  3 构建层次系统时,用做入口。接口

  模式结构

  Facade 对外的统一接口get

class Facade{ public void operation(){ subsystemClass1.operation(); subsystemClass2.operation(); } }

  subsystem Class 内部系统的实现类io

class subsystemClass1{ public static void operation(){ System.out.println("subsystemClass1 operation()"); } } class subsystemClass2{ public static void operation(){ System.out.println("subsystemClass2 operation()"); } }

  代码结构

package com.xingoo.facade; class Facade{ public void operation(){ subsystemClass1.operation(); subsystemClass2.operation(); } } class subsystemClass1{ public static void operation(){ System.out.println("subsystemClass1 operation()"); } } class subsystemClass2{ public static void operation(){ System.out.println("subsystemClass2 operation()"); } } public class Client { public static void main(String[] args) { Facade facade = new Facade(); facade.operation(); } }

  运行结果class

subsystemClass1 operation() subsystemClass2 operation()
相关文章
相关标签/搜索