定义一个高层接口,为子系统中的一组接口提供一个一致的界面,使得子系统更加容易使用。
主要组成:
Facade-高层接口,负责处理请求,并代理给子系统
Subsystem-子系统
相关类:
using System;
namespace Facade
{
/// <summary>
/// 大脑高层
/// </summary>
class BrainFacade
{
/// <summary>
/// 投篮
/// </summary>
public void Shoot()
{
EyeSubsystem eyeSystem = new EyeSubsystem();
HandSubsystem handSystem = new HandSubsystem();
eyeSystem.SightBasket();
handSystem.Hand();
Console.WriteLine("进球");
}
}
/// <summary>
/// 眼睛子系统
/// </summary>
class EyeSubsystem
{
public void SightBasket()
{
Console.WriteLine("瞄准篮筐");
}
}
/// <summary>
/// 手子系统
/// </summary>
class HandSubsystem
{
public void Hand()
{
Console.WriteLine("出手");
}
}
}
调用:
using System;
namespace Facade
{
class Program
{
static void Main(string[] args)
{
BrainFacade brainFacade = new BrainFacade();
//投篮
brainFacade.Shoot();
Console.Read();
}
}
}
结果:
参考资料:《设计模式-可复用面对对象软件的基础》