设计模式之外观模式

来源:互联网 发布:秋冬睡衣知乎 编辑:程序博客网 时间:2024/06/06 00:03

定义:

为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。对象结构型模式
又称为门面模式
是迪米特法则的一种具体实现

using UnityEngine;using System.Collections;namespace FacadePattern{    public class People    {        public string name;        public People(string name)        {            this.name = name;        }    }    public class Waiter    {         private Water _water;        private Teaport _teaport;        private Biluochun _b;        private Dahongbao _d;        private Maojian _m;        public Waiter()        {            _water = new Water();            _teaport = new Teaport();            _b = new Biluochun();            _d = new Dahongbao();            _m = new Maojian();        }        public void MenuA()        {            _teaport.Init();            _water.Init();            _b.Init();        }        public void MenuB()        {            _teaport.Init();            _water.Init();        }    }    public class Teaport    {        public void Init()        {            Debug.Log("消毒,倒水");        }    }    public class Water    {        public void Init()        {            Debug.Log("烧水");        }    }    public class Biluochun    {        public void Init()        {            Debug.Log("碧螺春");        }    }    public class Maojian    {        public void Init()        {            Debug.Log("毛尖");        }    }    public class Dahongbao    {        public void Init()        {            Debug.Log("大红袍");        }    }    public class Test    {        public static void Main()        {            Waiter waiter = new Waiter();            waiter.MenuA();            waiter.MenuB();        }    }} 

一个客户类需要和多个业务类交互,而这些需要交互的业务类经常会作为一个整体出现
引入一个新的外观类(Facade)来负责和多个业务类进行交互,而客户类只需与外观类交互
为多个业务类的调用提供了一个统一的入口,简化了类与类之间的交互

原创粉丝点击