创作背景:给位伙伴,五一小长假结束,我们继续对C#编程之路进行探索。本文将继续编程模式的研究,主要介绍外观模式。外观模式也称为门面模式,是一种结构型设计模式,它的目的是为子系统中的一组接口提供一个统一的高层接口,使各子系统更容易使用。它隐藏了子系统的复杂性,方便使用者访问。
外观模式主要有两大部分组成,一个是外观,即高层可访问的接口类;一个是子系统,即实现具体功能的部分,通常包括多个类和接口。
具体的实现代码如下:
1、创建子系统。
/// <summary>
/// 子系统1
/// </summary>
public class SubsystemsOne
{
public string MethodOne()
{
return "子系统One的方法";
}
}
/// <summary>
/// 子系统2
/// </summary>
public class SubsystemsTwo
{
public string MethodTwo()
{
return "子系统Two的方法";
}
}
/// <summary>
/// 子系统3
/// </summary>
public class SubsystemsThree
{
public string MethodThree()
{
return "子系统Three的方法";
}
}
2、创建外观。
/// <summary>
/// 外观
/// </summary>
public class Facade
{
private SubsystemsOne subsystemsOne;
private SubsystemsTwo subsystemsTwo;
private SubsystemsThree subsystemsThree;
public Facade()
{
subsystemsOne = new SubsystemsOne();
subsystemsTwo = new SubsystemsTwo();
subsystemsThree = new SubsystemsThree();
}
public string MethodA()
{
return "\r\nMethodA---\r\n" + subsystemsOne.MethodOne() + "\r\n" + subsystemsTwo.MethodTwo();
}
public string MethodB()
{
return "\r\nMethodB---\r\n" + subsystemsThree.MethodThree() + "\r\n" + subsystemsTwo.MethodTwo();
}
}
3、客户端调用。
/// <summary>
/// 外观模式
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_facade_Click(object sender, EventArgs e)
{
Facade.Facade facade = new Facade.Facade();
tbox_facade.Text = facade.MethodA();
tbox_facade.Text += facade.MethodB();
}
4、实现效果图。
以上就是关于外观模式的一些浅显理解,以及简单的示例代码。欢迎给位伙伴一起学习。