设计模式- 外观模式

Gof定义

为子系统中的一组接口提供一个一致的界面,Façade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

UML图

 

理解

  外观设计模式又叫门面设计模式,如果你在网上看到门面设计模式,其实都是一样的。感觉外观模式很简单,好像也没什么好讲的。在《大话设计模式》里举了这么一个例子,有一个股民在买股票,面对成千上万种类型的股票不知道怎么选择好,这时如果有一个股票的经理人,他有多年丰富的经验,你把钱给他,他帮你买股票,那么事情就简单多了。这里的那个多年丰富经验的股票经理人就是Facade(门面,外观)。我们通过直接跟股票经理人打交道,而具体要做的事情由股票经理人去处理就行。

Code Example

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Facade f = new Facade();
            f.MethodA();
            f.MethodB();

            Console.ReadLine();
        }
    }

    class Facade
    {
        SystemOne one;
        SystemTwo tow;
        SystemThree three;

        public Facade()
        {
            one = new SystemOne();
            tow = new SystemTwo();
            three = new SystemThree();
        }

        public void MethodA()
        {
            Console.WriteLine("买股票的方案一");
            one.MethodOne();
            three.MethodThree();
        }

        public void MethodB()
        {
            Console.WriteLine("买股票的方案二");
            tow.MethodTwo();
            three.MethodThree();
        }
    }


    class SystemOne
    {
        public void MethodOne()
        {
            Console.WriteLine("买1000股建设银行的");
        }
    }

    class SystemTwo
    {
        public void MethodTwo()
        {
            Console.WriteLine("买2000股中国石油的");
        }
    }

    class SystemThree
    {
        public void MethodThree()
        {
            Console.WriteLine("买100股腾讯的");
        }
    }

}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值