外观模式:
为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。提供简单的接口,减少依赖。子系统可能因为不断地重构变得很复杂和难以修改,交互。编一个清晰的外观模式,和新系统进行交互。
using System;
using System.Collections.Generic;
using System.Text;
namespace 设计模式
{
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 SubSystemThree
{
public void MethodOne()
{
Console.WriteLine("子系统3方法1");
}
public void MethodTwo()
{
Console.WriteLine("子系统3方法2");
}
}
class Facade
{
SubSystemOne SubSystemOne;
SubSystemTwo SubSystemTwo;
SubSystemThree SubSystemThree;
public Facade()
{
SubSystemOne = new SubSystemOne();
SubSystemTwo = new SubSystemTwo();
SubSystemThree = new SubSystemThree();
}
public void MethodA()
{
Console.WriteLine("方法组合A");
SubSystemThree.MethodOne();
SubSystemTwo.MethodTwo();
SubSystemThree.MethodOne();
}
public void MethodB()
{
Console.WriteLine("方法组合B");
SubSystemThree.MethodOne();
SubSystemTwo.MethodOne();
SubSystemThree.MethodOne();
}
}
class Costume
{
//客户端程序
static void Main(string[] args)
{
Facade facade = new Facade();
facade.MethodA();
facade.MethodB();
}
}
}
结果:
方法组合A
子系统3方法1
子系统2方法2
子系统3方法1
方法组合B
子系统3方法1
子系统2方法1
子系统3方法1