适配器模式--适配多个不知道怎么写

nry19871012 2016-06-09 11:11:22
1.现在有多个厂家 的SDK想写一个适配器,同一时刻只使用一家的SDK,



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();
}
}
}

...全文
281 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2016-06-11
  • 打赏
  • 举报
回复
编写一个基类,抽象你需要的操作,如果有两类不同的sdk,可以使用接口的继承或者组合。
tanta 2016-06-10
  • 打赏
  • 举报
回复
可以使用接口或抽象类,然后针对具体的设备编写具体的类,实现接口或继承抽象类
xuzuning 2016-06-10
  • 打赏
  • 举报
回复
你需要针对 每一家的SDK 各自写一个类,并实现你打算 向外提供统的 接口
wanghui0380 2016-06-10
  • 打赏
  • 举报
回复
抽象类 适配器抽象抽象 厂家1:适配器抽象对象 厂家2:适配器抽象对象 适配器抽象 适配器=new 厂家1(); 当然愿意写个简单工厂也行,不过现在更多是ioc依赖配置文件注入,毕竟配置文本是能运行期修改滴
Justin-Liu 2016-06-10
  • 打赏
  • 举报
回复
Adapter1, Adapter2 看看castle windosr
  • 打赏
  • 举报
回复
你至少要能够距离说出至少2个厂家的不同类型的东东,才可能真正懂得抽象,真正有一个你的需求描述出来。不然,就成了标题党了。
  • 打赏
  • 举报
回复
你认为啥叫适配器呢?你想写什么呢?Adapter这个英文词儿?
nry19871012 2016-06-09
  • 打赏
  • 举报
回复
比如现在有很多家摄像头,而每一家的SDK都不一样,各家的不同点是知道的(如有些能拍照,有些不能) 我是想专门写一个类来处理各家的SDK,向外提供统一的接口函数。

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧