转载:UML:http://www.cnblogs.com/devinzhang/archive/2012/01/06/2315200.html

设计原则:减少对象之间的交互。

定义:提供一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。

  而适配器是将原来的接口转换为客户希望的接口。

 

 

 

package facade;  
class DrawerOne {
public void open(){
System.out.println("第一个抽屉被打开了");
getKey();
}
public void getKey(){
System.out.println("得到第二个抽屉的钥匙");
}
}
class DrawerTwo{
public void open(){
System.out.println("第二个抽屉被打开了");
getFile();
}
public void getFile(){
System.out.println("得到这个重要文件");
}
}
class DrawerFacade{
DrawerOne darwerOne=new DrawerOne();
DrawerTwo darwerTwo=new DrawerTwo();
public void open(){
darwerOne.open();
darwerTwo.open();
}
}
public class DrawerClient{
public static void main(String []args){
DrawerFacade drawer=new DrawerFacade();
drawer.open();
}
}

程序的方法之间可以没有关联性,这个不重要。


应用场景:

  1)为一个复杂子系统提供一个简单接口。

  2)提高子系统的独立性。

  3)在层次化结构中,可以使用Facade模式定义系统中每一层的入口。

 

posted on 2016-08-30 20:28  反光的小鱼儿  阅读(130)  评论(0编辑  收藏  举报