您的位置:首页 > 其它

设计模式——外观模式(FacadePattern)

2013-11-08 00:45 567 查看
外观模式:为子系统中的一组接口提供一个一致的界面,次模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

UML图:



外观类:

package com.cnblog.clarck;

/**
* 外观类 知道哪些子系统负责处理请求,将客户的请求代理给适当的子系统对象
*
* @author clarck
*
*/
public class Facede {
private SubSystemOne one;
private SubSystemTwo two;
private SubSystemThree three;
private SubSystemFour four;

public Facede() {
one = new SubSystemOne();
two = new SubSystemTwo();
three = new SubSystemThree();
four = new SubSystemFour();
}

public void methodA() {
System.out.println("方法组A ---------");
one.methodOne();
two.methodTwo();
four.methodFour();
}

public void methodB() {
System.out.println("方法组A ---------");
two.methodTwo();
three.methodThree();
}
}


package com.cnblog.clarck;

/**
* 子系统一
*
* @author clarck
*
*/
public class SubSystemOne {
public void methodOne() {
System.out.println("子系统方法一");
}
}


package com.cnblog.clarck;

/**
* 子系统二
*
* @author clarck
*
*/
public class SubSystemTwo {
public void methodTwo() {
System.out.println("子系统方法二");
}
}


package com.cnblog.clarck;

public class SubSystemThree {
public void methodThree() {
System.out.println("子系统方法三");
}
}


package com.cnblog.clarck;

/**
* 子系统方法四
*
* @author clarck
*
*/
public class SubSystemFour {
public void methodFour() {
System.out.println("子系统方法四");
}
}


package com.cnblog.clarck;

/**
* 测试类
*
* @author clarck
*
*/
public class Client {

public static void main(String[] args) {
Facede facede = new Facede();

facede.methodA();
facede.methodB();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: