[php]php设计模式 Facade(外观模式)

1 <?php
2 /**
3 * 外观模式 示例
4 *
5 * 为子系统中的一组接口提供一个一致的界面,定义一个高层接口,使得这一子系统更加的容易使用
6 */
7 class SubSytem1
8 {
9 publicfunction Method1()
10 {
11 echo"subsystem1 method1<br/>";
12 }
13 }
14
15 class SubSytem2
16 {
17 publicfunction Method2()
18 {
19 echo"subsystem2 method2<br/>";
20 }
21 }
22
23 class SubSytem3
24 {
25 publicfunction Method3()
26 {
27 echo"subsystem3 method3<br/>";
28 }
29 }
30
31 class Facade
32 {
33 private$_object1=null;
34 private$_object2=null;
35 private$_object3=null;
36
37 publicfunction __construct()
38 {
39 $this->_object1 =new SubSytem1();
40 $this->_object2 =new SubSytem2();
41 $this->_object3 =new SubSytem3();
42 }
43
44 publicfunction MethodA() {
45 echo"Facade MethodA<br/>";
46 $this->_object1->Method1();
47 $this->_object2->Method2();
48 }
49
50 publicfunction MethodB() {
51 echo"Facade MethodB<br/>";
52 $this->_object2->Method2();
53 $this->_object3->Method3();
54 }
55 }
56
57 // 实例化
58 $objFacade=new Facade();
59
60 $objFacade->MethodA();
61 $objFacade->MethodB();

posted on 2011-01-04 23:20  bluefrog  阅读(2538)  评论(0编辑  收藏  举报