设计模式之外观模式

来源:互联网 发布:怎么在淘宝看直播 编辑:程序博客网 时间:2024/06/15 23:55

概述:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

角色;

  • Facade 知道哪些子系统类负责处理请求。 将客户的请求代理给适当的子系统对象
  • Subsystemclasses 实现子系统的功能。 处理由Facade对象指派的任务。
    没有facade的任何相关信息;即没有指向facade的指针

类图:
这里写图片描述

实现:
首先是两个接口:

interface ServiceA {    void methodA();}
interface ServiceB {    void methodB();}

其次是两个接口的实现:

public class ServiceImplA implements ServiceA {    public void methodA() {        System.out.println("AAAAA");    }}
public class ServiceImplB implements ServiceB {    public void methodB() {        System.out.println("BBBBBBB");    }}

然后是外观模式具体类:

public class Facade {    ServiceA sa;    ServiceB sb;    public Facade() {        sa = new ServiceImplA();        sb = new ServiceImplB();    }    public void methodA() {        sa.methodA();    }    public void methodB() {        sb.methodB();    }}

测试:

public static void main(String[] args) {        Facade f = new Facade();        f.methodA();    }

打印:
AAAAA

0 0
原创粉丝点击