外观模式

  外观模式(Facade): 为子系统中的一组接口提供一个一致的界面, 此模式定义了一个高层接口, 这个接口使得这一子系统更加容易使用。 

  

  四个子系统的类:

 

class SubSystemOne{
            public void MethodOne(){

            Console.WriteLine(" 子系统方法一");

            }
             }

       class SubSystemTwo{
            public void MethodTwo(){

            Console.WriteLine(" 子系统方法二");

            }
               }

       class SubSystemThree{
            public void MethodThree(){

            Console.WriteLine(" 子系统方法三");

            }
               }

       class SubSystemFour{
            public void MethodFour(){

            Console.WriteLine(" 子系统方法四");

            }
             }


  外观类:

  

 class Facade {

             SubSystemOne one;
             SubSystemTwo two;
             SubSystemThree three;
             SubSystemFour four;

             public Facade(){

              one = new SubSystemOne();
              tow = new SubSystemTwo();
              three = new SubSystemThree()
              four = new SubSystemFour();
                  }

                  public void MethodA(){

                  Console.WriteLine("\n 方法组A() --- ");
                  one.MethodOne();
                  two.MethodTwo();
                  four.MethodFour();

                  }

                  public void MethodB(){

                  Console.WriteLine("\n 方法组B() ---");
                    two.MehodTwo();
                    three.MethodThree();

                  } 

             }

  外观类: 他需要了解所有的子系统的方法或属性, 进行组合, 以备外界使用。

 客户端应用:

             static void Main(String args[]){

              Facade facade = new Facade();

              facade.MethodA();
              facade.MethodB();

              console.Read();

             }

  由于Facade 的作用, 客户端可以根本不知道三个子系统类的存在。

  开发人员在设计初期阶段, 应该就要意识到将不同的两个层分离, 层与层之间建立外观Facade。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值