外观模式主要作用是分离层与层之间的直接调用关系,减少依赖,为不同系统之间的调用提供接口。
namespace 外观模式
{
class Program
{
static void Main(string[] args)
{
//使用外观模式
FacadeMode fm = new FacadeMode();
fm.RunTATBFunc();
fm.RunTATCFunc();
Console.ReadLine();
}
}
//子系统
目的……就是实现不直接调用子系统下边的函数,而是通过调用中间者来实现子系统中方法的调用。
这里中间者需要声明子系统的对象,并且在构造函数中实例化对象!在中间者写一个方法调用子系统中的方法!
public class TestA
{
public void FuncA()
{
Console.WriteLine("系统TestA的方法");
}
}
public class TestB
{
public void FuncB()
{
Console.WriteLine("系统TestB的方法");
}
}
public class TestC
{
public void FuncC()
{
Console.WriteLine("系统TestC的方法");
}
}
//添加外观类
/// <summary>
/// 这里可以根据不同需求实现不同的调用,外观使得子系统不直接暴露给客服端
/// </summary>
public class FacadeMode
{
TestA ta;
TestB tb;
TestC tc;
public FacadeMode()
{
ta = new TestA();
tb = new TestB();
tc = new TestC();
}
public void RunTATBFunc()
{
ta.FuncA();
tb.FuncB();
}
public void RunTATCFunc()
{
ta.FuncA();
tc.FuncC();
}
}
}
UML图:
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。