Skip to content

外观(Facade)模式 结构型模式

为多个复杂的子系统提供一个一致的接口,使这些子系统更加容易被访问。

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();
    }
}
你觉得这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
评论
  • 按正序
  • 按倒序
  • 按热度