JAVA设计模式之外观模式

外观模式:外观模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用。即当子系统复杂或者繁锁时,我们为子系统提供一个接口,其它程序或者对象就通过这个接口与此子系统联系。接口可以是类或方法等。这样就简化了子系统的使用。

简单例子:

 1 public interface Camera 
 2 {
 3   public void setPosition();
 4   public void setShutter();
 5   public void setAperture();
 6   public void takePhoto();
 7 }
 8 
 9 public class SonyCamera implements Camera
10 {
11   @Override
12   public void setPosition() 
13   {
14     System.out.println("set position...");
15   }
16 
17   @Override
18   public void setShutter() 
19   {
20     System.out.println("set shutter...");
21   }
22 
23   @Override
24   public void setAperture() 
25   {
26     System.out.println("set aperture...");
27   }
28 
29   @Override
30   public void takePhoto()
31   {
32     System.out.println("take photo...");
33   }
34 }
35 
36 public class Facade 
37 {
38   private Camera camera;
39   
40   public Facade(Camera camera)
41   {
42     this.camera = camera;
43   }
44   
45   public void takePhoto()
46   {
47     camera.setPosition();
48     camera.setShutter();
49     camera.setAperture();
50     camera.takePhoto();
51   }
52 }
53 
54 public class Test 
55 {
56   public static void main(String[] args)
57   {
58     Facade facade = new Facade(new SonyCamera());
59     facade.takePhoto();
60   }
61 }

 

posted @ 2016-06-28 10:32  hxy_has_been_used  阅读(182)  评论(0编辑  收藏  举报