1.概念
为子系统中的一组接口提供一个统一接口。Facade模式定义了一个高层接口,这个接口使得这子系统更容易使用。
2.UML
3.代码
下面是一个具体案例的代码:
1 package facade; 2 class DrawerOne { 3 public void open(){ 4 System.out.println("第一个抽屉被打开了"); 5 getKey(); 6 } 7 public void getKey(){ 8 System.out.println("得到第二个抽屉的钥匙"); 9 } 10 } 11 class DrawerTwo{ 12 public void open(){ 13 System.out.println("第二个抽屉被打开了"); 14 getFile(); 15 } 16 public void getFile(){ 17 System.out.println("得到这个重要文件"); 18 } 19 } 20 class DrawerFacade{ 21 DrawerOne darwerOne=new DrawerOne(); 22 DrawerTwo darwerTwo=new DrawerTwo(); 23 public void open(){ 24 darwerOne.open(); 25 darwerTwo.open(); 26 } 27 } 28 public class DrawerClient{ 29 public static void main(String []args){ 30 DrawerFacade drawer=new DrawerFacade(); 31 drawer.open(); 32 } 33 }
4.应用场景
1)为一个复杂子系统提供一个简单接口。
2)提高子系统的独立性。
3)在层次化结构中,可以使用Facade模式定义系统中每一层的入口。
原文链接:http://www.cnblogs.com/devinzhang/archive/2012/01/06/2315200.html
时间: 2024-10-09 21:04:05