外观(Facade)模式 结构型模式
更新: 2023-05-24 11:11:27 字数: 0 字 时长: 0 分钟
为多个复杂的子系统提供一个一致的接口,使这些子系统更加容易被访问。
c#
// 外观模式示例
using System;
// 外观模式的目的是为了简化客户端与子系统之间的交互,
// 将复杂的子系统封装在一个外观类中,客户端只需要与外观类交互即可
// 下面是一个外观模式的示例,包含了一个外观类和多个子系统类
// 子系统类1
class Subsystem1
{
public void Method1()
{
Console.WriteLine("Subsystem1 Method1");
}
}
// 子系统类2
class Subsystem2
{
public void Method2()
{
Console.WriteLine("Subsystem2 Method2");
}
}
// 子系统类3
class Subsystem3
{
public void Method3()
{
Console.WriteLine("Subsystem3 Method3");
}
}
// 外观类,封装了多个子系统类的方法,提供给客户端使用
class Facade
{
private Subsystem1 subsystem1;
private Subsystem2 subsystem2;
private Subsystem3 subsystem3;
public Facade()
{
subsystem1 = new Subsystem1();
subsystem2 = new Subsystem2();
subsystem3 = new Subsystem3();
}
// 提供给客户端使用的方法,调用了多个子系统类的方法
public void Operation()
{
subsystem1.Method1();
subsystem2.Method2();
subsystem3.Method3();
}
}
// 客户端类
class Client
{
static void Main(string[] args)
{
// 创建外观类对象
Facade facade = new Facade();
// 调用外观类提供的方法,实现与子系统的交互
facade.Operation();
Console.ReadKey();
}
}