将子系统灵活组合封装时可用
using System;
namespace 外观模式
{
class Program
{
static void Main(string[] args)
{
Facade f = new Facade();
f.MethodOne();
f.MethodTwo();
Console.Read();
}
}
class SubSystemOne
{
public void MethodOne()
{
Console.WriteLine("子系统1方法1");
}
public void MethodTwo()
{
Console.WriteLine("子系统1方法2");
}
}
class SubSystemTwo
{
public void MethodOne()
{
Console.WriteLine("子系统2方法1");
}
public void MethodTwo()
{
Console.WriteLine("子系统2方法2");
}
}
class Facade //外观类
{
SubSystemOne one;
SubSystemTwo two;
public Facade()
{
one = new SubSystemOne();
two = new SubSystemTwo();
}
public void MethodOne()
{
Console.WriteLine("父系统方法1");
one.MethodOne();
two.MethodTwo();
}
public void MethodTwo()
{
Console.WriteLine("父系统方法2");
one.MethodTwo();
two.MethodOne();
}
}
}