110,571
社区成员
发帖
与我相关
我的任务
分享
namespace Adapter_DesignPattern
{
using System;
class Target
{
public virtual void Request()
{
Console.WriteLine("Target: general request!");
}
}
class Adaptee
{
public void SpecialRequest()
{
Console.WriteLine("Adaptee: special request!");
}
}
class Adapter : Target
{
//在这里创建不同厂家的类对象吗?
如果是,在调用时就会调用所有厂家的处理函数 但同一时刻只能使用一家SDK
private Adaptee adaptee = new Adaptee();
public override void Request()
{
adaptee.SpecialRequest();
}
}
class Client
{
public static void Main(String[] args)
{
Target target = new Target();
target.Request();
target = new Adapter(); //使用适配器后,客户端通过调用Target对象
//可以调用Adaptee
target.Request();
Console.Read();
}
}
}